Suppression à l'aide de case à cocher

Résolu
programmeur php Messages postés 46 Statut Membre -  
programmeur php Messages postés 46 Statut Membre -
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

  1. djflexlive Messages postés 577 Statut Membre 95
     
    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
    1. ReDLoG
       
      @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
  2. programmeur php Messages postés 46 Statut Membre
     
    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
  3. txiki Messages postés 6514 Date d'inscription   Statut Contributeur Dernière intervention   609
     
    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
  4. programmeur php Messages postés 46 Statut Membre
     
    bonjour

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