Suppression à l'aide de case à cocher
Résolu
programmeur php
Messages postés
46
Statut
Membre
-
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';
}
?>
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
-
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); ) ?-
@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)
-
-
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';
}
?> -
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. -
bonjour
chez moi elle est marché, mais avec la syntaxe suivante:
$result = mysql_query("select * from mabase.mytable");