- Home
- Categorie
- Coding e Sistemistica
- Coding
- Cancellazione Multipla Con Checkbox
-
Si volendo si può fare cosi, fai attenzione che il mysql_query lo hai richiamato una sola volta.
I delete puoi farli anche con dei join:
http://dev.mysql.com/doc/refman/5.0/en/delete.html
-
ok ho visto e poi fatto una prova, può andare bene?
DELETE a_anagrafica,a_login,a_ana_preferenze
FROM a_anagrafica
INNER JOIN a_login
ON a_anagrafica.id_anagrafica = a_login.id_anagraficaINNER JOIN a_ana_preferenze
ON a_login.id_login = a_ana_preferenze.id_loginWHERE a_anagrafica.id_anagrafica = '".$id."'
-
Si dovrebbe essere corretta, però hai messo un singolo id invece di usare IN (id1,id2)
-
ho fatto un test ma non mi ha cancellato niente

-
Fai prima una query SELECT cosi vedi cosa prende e se c'è qualche errore sui JOIN, io non posso sapere com'è strutturato il tuo database quindi non sò dirti cosa non va. Dopo la modifichi in DELETE facilmente.
-
questo è uno dei risultati delle query:
SELECT a_anagrafica., a_login., a_ana_preferenze.* FROM a_anagrafica INNER JOIN a_login ON a_anagrafica.id_anagrafica = a_login.id_anagrafica INNER JOIN a_ana_preferenze ON a_login.id_login = a_ana_preferenze.id_login WHERE a_anagrafica.id_anagrafica = '1902'
-
quindi praticamente mi stampa solo l'id di a_anagrafica.id_anagrafica è giusto che sia così?
-
questo è il codice x stampare a video la query:
<?php
$sql = "SELECT a_anagrafica., a_login., a_ana_preferenze.*FROM a_anagrafica
INNER JOIN a_login
ON a_anagrafica.id_anagrafica = a_login.id_anagraficaINNER JOIN a_ana_preferenze
ON a_login.id_login = a_ana_preferenze.id_loginWHERE a_anagrafica.id_anagrafica = '".$id."'";
mysql_query($sql,$conn) or die (mysql_error());
echo $sql;
?>
-
Tu devi eseguirla direttamente sul database (Tramite phpMyAdmin ad esempio) e vedere se restituisce qualcosa oppure no, perchè se non restituisce nulla significa che qualche join fatto cosi non va bene.
-
fatto, ma anche tramite phpMyAdmin non succede nulla
-
Significa che i JOIN non sono fatti correttamente, controlla bene che ti serva un INNER JOIN invece di un LEFT JOIN. E anche che i campi in cui unisci sono corretti.
-
ok ora funziona grazie dell'aiuto

-
scusa mi sono accorto solo ora che me ne cancella solo uno per volta anche se ne seleziono più contemporaneamente. Forse può dipendere dal pulsante cancella e dal form che li devo mettere fuori il ciclo della ricerca?
-
Puoi postare il codice completo?
-
ho messo il form fuori dal ciclo ma ora non funziona più
-
posto solo la parte del ciclo altrimenti è troppo lungo:
[PHP]
<form enctype="multipart/form-data" name="formcancella" action="<?=$PHP_SELF?>" method="post"><?php
while($row2=mysql_fetch_array($result2)){
?>
<table width="950" height="20" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="8" bgcolor="<?php echo $colore_sfondo; ?>"></td>
</tr>
<tr>
<td height="20" align="right" bgcolor="<?php echo $colore_sfondo; ?>"><table width="950" height="20" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="250"><img src="../images/icona_elenco_triangolo_grigio.gif" width="10" height="10" border="0">
<?=$row2['ragione_sociale']?></td>
<td width="450"><?php if ($row2['indirizzo']!=""){ ?><?=$row2['indirizzo']?><?php }?>
<?php if ($row2['cap']!=""){ ?> - <?=$row2['cap']?><?php }?>
<?php if ($row2['provincia']==""){ ?> - <?=$row2['citta']?><?php }?>
<?php if ($row2['comune']!=""){ ?> - <?=$row2['comune']?><?php }?>
<?php if ($row2['provincia']!=""){ ?> - (<?=$row2['provincia']?>)<?php }?></td>
<td width="100"><a href="admin_ins_anagrafica2.php?id=<?=$row2[id_login2]?>&pagina=6" class="tre">segue</a>
</td> <td width="150"><?php
$id = $row2[id_anagrafica];
?><table width="230" height="20" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="230" align="left"><input type="checkbox" name="delete[]" value="<?php echo($id); ?>"> <span class="testo_rosso_bold3">Elimina <?=$id?></span></td>
</tr>
</table></td>
</tr>
</table></td> </tr><tr>
<td height="8" bgcolor="<?php echo $colore_sfondo; ?>"></td>
</tr>
<tr>
<td height="1" bgcolor="#999999"></td>
</tr>
</table>
<?php
}
?><table width="950" height="20" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="8"></td>
</tr>
<tr>
<td height="1" bgcolor="cccccc"></td>
</tr>
<tr>
<td height="8"></td>
</tr>
<tr>
<td height="30" align="center">
<input type="hidden" name="cancella" value="1"><input name="submit" type="submit" class="pulsante" value="cancella">
</td>
</tr>
<tr>
<td height="8"></td>
</tr>
<tr>
<td height="1" bgcolor="cccccc"></td>
</tr>
<tr>
<td height="8"></td>
</tr>
</table></form>
<?php
}
?>[/PHP]