suppression d entrées via checkbox

  • Auteur de la discussion Auteur de la discussion velipro
  • Date de début Date de début
Nouveau WRInaute
salut,
je souhaites faire une suppréssion dans la bdd de certains champs via une checkbox.
l'envoi par $_POST se fait bien car l'echo fonctionne et m'affiche les id que je veux supprimer , mais par contre rien ne s enleve de la bdd.
Ca fait deux jours que je suis sur ce probleme et pas moyen de trouver une solution , c est pour ca que je me tourne vers vous afin que je puisse comprendre ou est l erreur.
voici la page du while qui affiche les données sous forme de tableau:
Code:
<?php
include("include/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);



$requete2 = mysql_query('SELECT * FROM prospect
				WHERE 
				prospect_membre_id = '.$_SESSION['id'].' 

				ORDER BY prospect_nom DESC') or die(mysql_error());


 ?>		<br /><br /><br />		
<form name="form_mailing_list" action="do_on_mailing_list.php" method="post">


<table id="gradient-style" class="paginated" >
    <thead>
    	<tr>
            <th></th>
            <th scope="col"><span class="nostyle_bold">Nom</span></th>
            <th scope="col"><span class="nostyle_bold">E-mail</span></th>
            <th scope="col"><span class="nostyle_bold">Date</span></th>
			<th scope="col"><span class="nostyle_bold">status</span></th>
        </tr>
    </thead>
	<tbody>
<?php
while ($donnees = mysql_fetch_array($requete2))
{
?>
    	<tr> 
            <td><input type="checkbox" name="supp[]" value="<?php echo $donnees['prospect_id']; ?>" class="noborder"></td>
            <td><?php echo $donnees['prospect_nom']; ?></td>
            <td><?php echo $donnees['prospect_email']; ?></td>        
            <td><?php echo $donnees['prospect_inscription']; ?></td>
	    <td><?php if($donnees['prospect_status'] == 0) echo '<span style="color:red">Inactif</span>'; else echo '<span style="color:green">Actif</span>'; ?></td>
			    
<?php 
} 
?>
    </tbody>
</table>
<br />
<center><input type="submit" value="supprimer les prospects sélectionnés" /><br />
</form>

et la page de traitement :
Code:
<?php
session_start();

include("include/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);

$in = '(' . implode(', ', array_map('intval', $_POST['supp'])) . ')';
		mysql_query ('DELETE FROM prospect WHERE prospect_id  = "'.$in.'"') or die(mysql_error());
		
echo $in; 


?>

a savoir que tout passe bien mais les données ne disparaissent pas


merci de m aider
 
Nouveau WRInaute
J'ai du faire un truc dans le genre.
ce que je faisais c'est que je desinscrivait tout les choix dans la BDD
puis je réinscrivais ceux qui n'était pas coché.
Compris ?
 
Nouveau WRInaute
oui oui compris mais la le soucis c est que c est pour effacer seulement les entrées pour un membre dans une base de données commune qui compte plus de 24 000 entrées donc ca va pas être possible
 
Nouveau WRInaute
OK je laisse répondre les autres ^^
et j'utiliserais la méthode qu'il t'offrirons.
par contre si tu as une solution a mon problème...
Je suis preneur et planté en ce moment. :lol:
 
Nouveau WRInaute
c'est a dire ?

je fais un echo oui mais pour vérifier que les données passent bien par le post et ca c est ok avec lui:
Code:
echo $in;

si je selectionne 3 entrées, je vais avoir
(25902, 25901, 25898)
qui va s afficher dans la page de traitement
sinon je vois pas ce que tu veux dire
 
WRInaute discret
Remplace
Code:
'DELETE FROM prospect WHERE prospect_id  = "'.$in.'"'
par
Code:
'DELETE FROM prospect WHERE prospect_id  IN "'.$in.'"'
 
Nouveau WRInaute
Re: [resolu]suppression d entrées via checkbox

erreur sql
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"(25905, 25902, 25901, 25898, 25894)"' at line 1

edit :
j ai supprimé les double quote et ca marche

MERCI
 
Discussions similaires
Haut