Aiutino su PHP e MySQL [Checkbox]

anayra

Nuovo Utente
19 Nov 2015
1
0
0
Premetto che sono nuovo nel campo del Php e MySQL, quindi non linciatemi se faccio questa domanda abbastanza semplice.
Stavo lavorando ad un progetto per un'amico che mi ha chiesto se riuscissi a creare un sito che interfacciandosi con il database estrapoli dei dati (Numero di coppia, Cognome e Nome) inserendoli in una tabella, e a sua volta aggiorni un dato (Top).


AiZYMXd.png


Questa è la tabella che mi ritrovo (Ho messo solo 4 dati di prova), ho pensato che per aggiornare il dato "Top" che avrà solamente 0 e 1 mi sarebbe convenuto utilizzare una Checkbox dato che restituisce un valore Booleano, quindi perfetto nel mio caso, il problema sorge qui: Come posso far eseguire la query d'update per quella checkbox?

(In poche parole io ho un ciclo che mi scrive tutti gli elementi del database in tabella, e al posto del top mi mostra una checkbox che io dovrei utilizzare per restituire un valore al database che poi mi servirà per utilizzarlo in un'altra pagina).

blocco2.php [Misto tra PHP e HTML]

PHP:
<?php
$blocco = "BLOCCO 2";
$categoria = ". . .";
$giudice = "COGNOME NOME";
?>

<!DOCTYPE html>
<html>
<head>
  <link href="css/tables.css" rel="stylesheet" type="text/css">
  <link href="css/admin.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor=#000000 text=#ffffff><center>
  <font color=#FFDB00 size="5"><b><?php echo $blocco ?></b></font><br><br>
  <font color=#FFDB00 size="3"><b>CATEGORIA</b> <?php echo $categoria ?></font><br>
  <font color=#FFDB00 size="2"><b>GIUDICE</b> <?php echo $giudice ?></font><br><br>
<?php
session_start();
$conn = new mysqli("localhost", "username", "password", "my_database");

// Check connection
if ($conn->connect_error) {
    die("Connessione fallita: " . $conn->connect_error);
}

$sql = "SELECT * FROM iscritti ORDER BY coppia ASC";
$result = $conn->query($sql);

echo "<table>
        <tr>
          <th><b><font size=4>Coppia</th>
          <th><b><font size=4>Cognome</th>
          <th><b><font size=4>Nome</th>
          <th><b><font size=4>Top</th>
        </tr>";

while($row = mysqli_fetch_array($result))
{
  echo "<tr>";
  echo "<td><center><font size=2>" . $row['coppia'] . "</td>";
  echo "<td><center><font size=2>" . $row['cognome'] . "</td>";
  echo "<td><center><font size=2>" . $row['nome'] . "</td>";
  echo '<td><center><input type="checkbox" name="check[]" value=1"></td>';
  echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>
<br>
</center></body></html>

Girando per il web ho visto che bisogna utilizzare un tasto submit, o utilizzare un codice in Javascript (Che io sconosco completamente), quindi opterei per il tasto submit a fondo pagina, ma non saprei proprio come strutturarlo.
La query che ho pensato è:
UPDATE iscritti SET top=VALORE_CHECKBOX WHERE cognome=COGNOME_CORRISPONDENTE AND nome=NOME_CORRISPONDENTE

Io devo sostituire VALORE_CHECKBOX, COGNOME_CORRISPONDENTE e NOME_CORRISPONDENTE, solo che utilizzando un ciclo, non so proprio come fare (L'avrò già detto una decina di volte).

Qualcuno che mi sappia aiutare ( E che abbia capito il mio problema? D: )
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
immagino che nelle tabella iscritti ci sia un campo id primarykey autoncrement, se non c'è dovresti metterlo
quindi mi baso come se ci fosse
PHP:
<!-- <html><head> ...... -->
<?php
//dati per connessione
if(isset($_POST['modifica'])){
	foreach($_POST['check'] as $id => $valore){
		$query="UPDATE iscritti SET top='$valore' WHERE id= $id";
		//mysqli_query .......
		// e un ritorno automatico all tabella vedi il js sotto
	}
	echo "record aggiornati, tra 3 secondi torno alla tabella";
?>
<script language="JavaScript" type="text/javascript">
<!--  
window.setTimeout ("location.href=('<?php echo $_SERVER['PHP_SELF'];?>')", 3000);//3000 = 3 secondi, se vuoi più o meno
 -->
</script>	
<?php
}
?>
<!-- quello che ci vuole -->
<?php
//....
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo "<table>
        <tr>
          <th><b><font size=4>Coppia</th>
          <th><b><font size=4>Cognome</th>
          <th><b><font size=4>Nome</th>
          <th><b><font size=4>Top</th>
        </tr>";

while($row = mysqli_fetch_array($result))
{
  $id=$row['id'];//o come si chiama il tuo campo id del record
  echo "<tr>";
  echo "<td><center><font size=2>" . $row['coppia'] . "</td>";
  echo "<td><center><font size=2>" . $row['cognome'] . "</td>";
  echo "<td><center><font size=2>" . $row['nome'] . "</td>";
  echo '<td><center><input type="checkbox" name="check[$id]" value='1'"></td>';//se metti l'id sai a cosa si riferisce
  echo "</tr>";
}
echo "<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td><input name='modifica' type='button' value='modifica'></td>";
echo "</table>";
echo "</form>";
//.......
?>
fai delle prove perchè io non l'ho provato
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao dimenticavo
vedo che usi html5: <!DOCTYPE html>
ora i tag <font> <center> non sono supportati da html5, devi usare i css, che comunque sono da usare anche in html4
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Aiutino con php e redirect PHP 7
D [HTML] Aiutino su costruzione tabella :) HTML e CSS 3
C [MySQL] aiutino MySQL 4
W Aiutino per compilare o eseguire un App Java Java 0
otto9due Redirect 301 con espressioni regolari piccolo aiutino Apache 3
otto9due breadcrumbs con microformat o RDF piccolo aiutino.. PHP 2
otto9due Funzione cambia attributo input value non funziona.. Un aiutino :D Javascript 14
otto9due Piccolo aiutino per una query.. PHP 3
S Aiutino con il Javascripts. Javascript 2
T [risolto] aiutino modifica form email HTML e CSS 7
G Aiutino su un calcolo javascript in tempo reale Javascript 15
R Aiutino per query MySql PHP 8
P Aiutino banner PHP 2
L Aiutino su upload file PHP 1
S font da utilizzare su un sito web [era: un piccolo aiutino!] HTML e CSS 8
N Parse error: syntax error, unexpected T_VARIABLE Piccolo Aiutino :) PHP 0
N Presentazione e aiutino :-) HTML e CSS 3
A Aiutino? PHP 2
A Aiutino... PHP 12
V Aiutino a niubbo Classic ASP 2
N aiutino Programmazione 11
F Apertura popup [era: Aiutino] HTML e CSS 1
F aiutino ad un desperado! HTML e CSS 2
ila aiutino per tesi Discussioni Varie 0
P Un Aiutino Pagine Web HTML e CSS 7
M Aiutino :P Flash 2
metalgemini Aiutino per motore di ricerca SEO e Posizionamento 3
Hikari Aiutino per una novizia ^_^ Classic ASP 14
A Ho bisogno di un aiutino !!! PHP 2
R un aiutino, please! HTML e CSS 0
G Aiutino per combobox Classic ASP 0
G Aiutino x posta elettronica Posta Elettronica 2
L help aiutino Discussioni Varie 5
E Aiutino! HTML e CSS 0
S aiutino Classic ASP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6

Discussioni simili