Suppression à l'aide de case à cocher

Résolu/Fermé
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020 - 26 mai 2012 à 16:34
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020 - 29 mai 2012 à 16:01
Bonjour,



je veux faire une suppression des données d'une personne dans une base de données en cochant un case à cocher qui porte comme valeur l'id de la personne et qui se trouve dans un page appelé suppression.php, quand je clique sur le bouton envoyer il écrit "suppression réussie",mais la suppression ne se fait pas dans la base de données.

voici le code:
page suppression.php
<?php

echo'<a href="deconnection.php">Deconnection</a> ';
echo'<a href="changer.php">changer mot de passe</a>';
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "cripe" ) ;

//création de la requête SQL:


echo'<table>
<TR><th> </th><th> Nom</th><th> Prenom</th></TR>';

$requete= mysql_query("SELECT * FROM cripe.abonne");



while($data=mysql_fetch_object($requete)) {

/*<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>*/

echo '<form action="receptionsuppression.php" method="GET"><tr><td><input type="checkbox" name="monchamp[]" value="',$data->id,'"></td><td>',$data->nom,'</td><td>',$data->prenom,'</td></tr>';}
mysql_free_result($requete);

echo'<tr><td><input type="submit" value="Supprimer" align="center"></td><td><input type="reset" value="Annuler" align="center"></td></tr>';
echo'</form>';
echo'</table>';

?>

page receptionsuppression.php

<?php
if (isset($_GET["monchamp"]))
{

//il faut reçevoir un tableau de valeurs
$lis=$_GET["monchamp"];
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "cripe" ) ;

//création de la requête SQL:
for ($i = 0, $c = count($lis); $i < $c; $i++)
{
$requete="DELETE FROM 'cripe'.'abonne' WHERE 'abonne'.'id' = '$lis[$i]'";
}
if($requete){
echo'suppression réussite';
}
else
{
echo'suppression n\'est pas réussie';
}

}
else
{
echo'vous devez choisir';
}
?>

4 réponses

djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 95
27 mai 2012 à 04:03
Dans ta page receptionsuppression.php , que donne un echo $lis ?

Conseil aussi, remplaces $lis=$_GET["monchamp"]; par $lis=intval($_GET["monchamp"]);

Ensuite tu n'a qu'un id à deleter ? Qu'une seule entrée dans ta bd à supprimer ?

Pourquoi utilises tu une boucles dans ce cas ? De plus, tu as ceci :
$requete="DELETE FROM 'cripe'.'abonne' WHERE 'abonne'.'id' = '$lis[$i]'";

Mais où est exécuté ta requete ? ( mysql_query($requete); ) ?
0
@djflexlive
Bonsoir,
Te fatigues pas, jette un oeil ici et tu comprendras très vite qu'il ne faut pas attendre de réponse à tes questions :
forum "Base de données" du 18/05/2012 => http://www.commentcamarche.net/forum/affich-25201377-suppression-par-case-a-cocher (0 réponses)
forum "Base de données" du 14/05/2012 => http://www.commentcamarche.net/forum/affich-25172344-suppression-par-case-a-cocher (1 réponse)
0
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020
28 mai 2012 à 19:21
j'ai ajouté une ligne de code après la requête dans la page receptionsuppression.php
voici le code
<?php
if (isset($_GET["monchamp"]))
{

//il faut reçevoir un tableau de valeurs
$lis=$_GET["monchamp"];
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "cripe" ) ;

//création de la requête SQL:
for ($i = 0, $c = count($lis); $i < $c; $i++)
{
$requete="DELETE FROM 'cripe'.'abonne' WHERE 'abonne'.'id' = '$lis[$i]'";
$sql = mysql_query($requete, $cnx) or die( mysql_error() ) ;
}
if($requete){
echo'suppression réussite';
}
else
{
echo'suppression n\'est pas réussie';
}

}
else
{
echo'vous devez choisir';
}
?>
0
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 517
29 mai 2012 à 14:25
Salut à tous,
T'es sur pour ça ????
$result = mysql_query("select * from mytable"); 

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
programmeur php Messages postés 35 Date d'inscription jeudi 3 mai 2012 Statut Membre Dernière intervention 6 juillet 2020
29 mai 2012 à 16:01
bonjour

chez moi elle est marché, mais avec la syntaxe suivante:
$result = mysql_query("select * from mabase.mytable");
0