riuso di codice ..sembra corretto ma non funza

ciauz a tutti!!

sto cercando di eliminare dei record dal mio database usando le checkbox..ho fatto riuso di un codice che mi ha mandato un mio amico ma qua non funziona!

non mi da errori quando premo il pulsante per cancellare ma non mi cancella nulla dal database.

<?php
$host="localhost"; 
$username="prova"; 
$password="prova"; 
$db_name="progetto"; 
$tbl_name="persona";

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="">
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
<td colspan="4" bgcolor="#FFFFFF"><strong>CANCELLAZIONE UTENTI DAL DB</strong> </td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">#</td>
<td align="center" bgcolor="#FFFFFF"><strong>CodPersona</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Nome</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Cognome</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Username</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Password</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Qualifica</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>DataUtile</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Telefono</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Mail</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Via</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>CAP</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>NumeroCivico</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>NazionePersona</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){

?>
<tr>
<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['CodPersona']; ?>"></td>
<td bgcolor="#FFFFFF"><?php echo $rows['CodPersona']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Nome']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Cognome']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Username']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Password']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Qualifica']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['DataUtile']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Telefono']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Mail']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Via']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['CAP']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['NumeroCivico']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['NazionePersona']; ?></td>
</tr>
<?php
}
?>
<tr>
<td><input type="submit" name="delete" value="Delete" id="delete></td>
<td><input type="reset" value="Annulla Selezione"onclick="checkcancella.checked=false" /></td>
</tr>
<?

}
if($delete ){
{for($i=0;$i<$count;$i++){
$del_id = $checkbox[$i];
$sql = "DELETE * FROM persona WHERE CodPersona='$del_id'";
$result = mysql_query($sql);}
}
if($result)
{
echo "<meta http-equiv=\"refresh\" content=\"0;URL=cancellautenti5.php\">";
}}
mysql_close();
?>
</table>
</form>
</td>
</tr>
</table>
inviato 8 anni fa
jok86
X 0 X

Ciao,

ho testato il tuo codice e a me non caricava nemmeno la tabella.

C'è una parentesi graffa di troppo prima di "if($delete ){".

:bye:

Zeta

risposto 8 anni fa
zeta80
X 0 X

mhhh a me la tabella con gli utenti e le checkbox di fianco la carica perfettamente!

verissimo parentesi trovata ed eliminata!grazie mille!!

ho trovato un errore nel codice che ho postato qui!!

il bottone per resettare i valori delle checkbox..praticamente nella versione che avevo riscritto prima lo avevo chiamato cancellacheck..e quindi mi andava..ora che gli ho messo un altro name non funza

solo che bho non mi cancella gli utenti dal database

ciauz

risposto 8 anni fa
jok86
modificato 8 anni fa
X 0 X

Ciao,

riguardando meglio l'errore è nella query:

$sql = "DELETE * FROM persona WHERE CodPersona='$del_id'";

che diventa:

$sql = "DELETE FROM persona WHERE CodPersona='$del_id'";

Per eliminare la selezione dei check box potresti utilizzare una funzione generica document.forms[0].reset().

:bye:

Zeta

P.S.: Okkio al numero del form, potrebbe non essere sempre il primo  ^-^

risposto 8 anni fa
zeta80
X 0 X

grazie mille zeta!!

per deselezionare ho usato

<input type="reset" value="Annulla "onclick="checkbox[].checked=false" />

e funza!!

ora provo come mi hai detto te per la query.

anche te come gianni e architetto se passi da como fai un fischio che ti offro da bere

risposto 8 anni fa
jok86
X 0 X

nulla non funziona nemmeno con $sql = "DELETE FROM persona WHERE id='$del_id'";

risposto 8 anni fa
jok86
X 0 X

Ciao,

se l'id è di valore numerico devi togliere gli apici: '.

:bye:

Zeta

risposto 8 anni fa
zeta80
X 0 X

si CodPersona è di tipo INTEGER e avevo gia provato a fare

$sql = "DELETE FROM persona WHERE CodPersona=$del_id ";

ma bho...non va..

ciauz e grazie !hai davvero tanta pazienza

risposto 8 anni fa
jok86
X 0 X

Ciao,

putroppo riesco ad esserti di poco aiuto... non sapendo precisamente l'errore (un "non va" è molto generico).

Ti posso consigliare di inserire un echo prima della query, così hai modo di verificare che query viene eseguita.

:bye:

Zeta

risposto 8 anni fa
zeta80
X 0 X

ho modificato un po il codice giusto per fare qualche controllo...

praticamente mi stampa la tabella perfetta come al solito con dentro i miei valori!!

una volta cliccato su delete ho voluto lanciare anche una echo per vedere che valori avesse $checkbox e mi risponde "Array"..

secondo me quindi non prende i valori

<?php
$host="localhost"; 
$username="root"; 
$password="pass"; // Mysql password
$db_name="progetto"; // Database name
$tbl_name="persona"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($_POST['delete']=='Delete' )
{
$checkbox= $_POST['checkbox'];
for($i=0;$i<count($checkbox);$i++){
$del_id = $checkbox[$i];
$sql = "DELETE FROM persona WHERE persona.CodPersona='$del_id'";
$result1 = mysql_query($sql);}
}
echo $checkbox;
?>
<form name="form1" method="post" action="cancellautenti5.php">
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
<td colspan="4" bgcolor="#FFFFFF"><strong>CANCELLAZIONE UTENTI DAL DB</strong> </td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">#</td>
<td align="center" bgcolor="#FFFFFF"><strong>CodPersona</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Nome</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Cognome</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Username</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Password</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Qualifica</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>DataUtile</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Telefono</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Mail</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Via</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>CAP</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>NumeroCivico</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>NazionePersona</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){

?>
<tr>
<td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['CodPersona']; ?>"></td>
<td bgcolor="#FFFFFF"><?php echo $rows['CodPersona']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Nome']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Cognome']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Username']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Password']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Qualifica']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['DataUtile']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Telefono']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Mail']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['Via']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['CAP']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['NumeroCivico']; ?></td>
<td bgcolor="#FFFFFF"><?php echo $rows['NazionePersona']; ?></td>
</tr>
<?php
}
?>

<table>
<tr>
<td colspan="9" align="center">
<td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td>
<input type="reset" value="Annulla "onclick="checkbox[].checked=false" />
</td>
</tr>
</table>
</table>
</form>
<?



mysql_close();
?>
risposto 8 anni fa
jok86
X 0 X

finalmente ho risolto!!!

non mi arrivavano i valori!!

ora funza tutto!!

risposto 8 anni fa
jok86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda