par
Gwena » 30 oct. 2005, 22:18
j'ai un probleme identique, ça fait des jours que je suis la dessus, j'ai essayé d'appliquer la méthode expliquée dans ces quelques pages mais il ne veut rien savoir!!
<form action="<? $PHP_SELF; ?>" method="POST">
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<?php
//requête SQL:
$sql = "SELECT * FROM news order by date DESC" ;
$requete = mysql_query( $sql) ;
while( $result = mysql_fetch_array( $requete ) )
{
?>
<tr>
<td width="60" align="center"><b><?php echo ''.$result["id"].''; ?></b></td>
<td><?php echo ''.$result["titre"].''; ?> </td>
<td width="60" align="center"><input type="checkbox" name="box[]" value=" <?php echo''.$result["id"].'' ?> "></td>
</tr>
<?
} ?>
</table>
<?
if (isset($_POST['box']))
{
$box=$_POST['box'] ;
$req="";
foreach ($box as $cle => $id)
{
$req.=" AND id=".$id; // a chaque tour de boucle il faut ajouter AND id (sauf pour la 1ere valeur)
}
$req=substr($req,4); //pour enlever le 1er AND
mysql_query("DELETE FROM news WHERE ".$req) or die (mysql_error());
}
echo $req;
echo $cle;
?>
<input type="submit" name="submit" value="Envoyer">
</form>
si vous voyez quelque chose de bizarre n'hésitez pas!
je n'arrive pas à supprimer plus de 1 entrée à la fois et le echo $cle me renvoit un truc bizarre: id= 97 AND id= 96 AND id= 95
2
quand je coche 3 entrées et id= 97 AND id= 96 AND id= 95
1 quand j'en coche 2, le chiffre de la fin correspond à $cle
si je ne met pas de $cle ds le foreach il me renvoie simplement ça: id= 97 AND id= 96 AND id= 95
logiquement ça devrait marcher mais la ce n'est pas le cas![/code]
j'ai un probleme identique, ça fait des jours que je suis la dessus, j'ai essayé d'appliquer la méthode expliquée dans ces quelques pages mais il ne veut rien savoir!!
[php]
<form action="<? $PHP_SELF; ?>" method="POST">
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<?php
//requête SQL:
$sql = "SELECT * FROM news order by date DESC" ;
$requete = mysql_query( $sql) ;
while( $result = mysql_fetch_array( $requete ) )
{
?>
<tr>
<td width="60" align="center"><b><?php echo ''.$result["id"].''; ?></b></td>
<td><?php echo ''.$result["titre"].''; ?> </td>
<td width="60" align="center"><input type="checkbox" name="box[]" value=" <?php echo''.$result["id"].'' ?> "></td>
</tr>
<?
} ?>
</table>
<?
if (isset($_POST['box']))
{
$box=$_POST['box'] ;
$req="";
foreach ($box as $cle => $id)
{
$req.=" AND id=".$id; // a chaque tour de boucle il faut ajouter AND id (sauf pour la 1ere valeur)
}
$req=substr($req,4); //pour enlever le 1er AND
mysql_query("DELETE FROM news WHERE ".$req) or die (mysql_error());
}
echo $req;
echo $cle;
?>
<input type="submit" name="submit" value="Envoyer">
</form> [/php]
si vous voyez quelque chose de bizarre n'hésitez pas!
je n'arrive pas à supprimer plus de 1 entrée à la fois et le echo $cle me renvoit un truc bizarre: id= 97 AND id= 96 AND id= 95 [b]2[/b]
quand je coche 3 entrées et id= 97 AND id= 96 AND id= 95 [b]1[/b] quand j'en coche 2, le chiffre de la fin correspond à $cle
si je ne met pas de $cle ds le foreach il me renvoie simplement ça: id= 97 AND id= 96 AND id= 95
logiquement ça devrait marcher mais la ce n'est pas le cas![/code]