Supprimé des lignes de base de bonné

Fermé
mekni Messages postés 13 Date d'inscription mardi 1 janvier 2013 Statut Membre Dernière intervention 1 février 2013 - 24 janv. 2013 à 14:59
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 24 janv. 2013 à 22:57
bonjour , ceci mon code pour afficher mes client de table client , je veux lorsque je coche des boutons de type checkbox le client sera supprimé de ma base donné .
<html>
<head>
<title></title>
</head>
<body>




<?php
include 'cnx.php';


$sql = "SELECT idclient,nom,prénom FROM client";
$result = mysql_query($sql) or die("Requete pas comprise");
$total = mysql_num_rows($result);
?>

<?php
if($total) {

?>
<h1>Liste des clients<h1>
<form method='GET' action='1.php'>
<TABLE BORDER="1">
</CAPTION>
<TR>
<TH> id </TH>
<TH> nom </TH>
<TH> prenom</TH>
<TH> choix</TH>
</TR>
<?php }
while ($row=mysql_fetch_array($result))
{
?>
<tr>

<td><?php echo $row["idclient"]." ";?></td>
<td><?php echo $row["nom"]; ?></td>
<td><?php echo $row["prénom"]; ?></td>
<td><input type='checkbox' name='sup[]' value="'.$row[idclient].'"></td>

</tr>
<?php
}
mysql_close();
?>
</form>
</table><br>
<input type="submit" value="Eliminer">

</body>
</html>

et voila le code de suppression

<?php
include 'cnx.php';
if (isset($_GET['sup']))
{

mysql_query('DELETE FROM client WHERE id=' . $_GET['sup']);
}
?>


mais je sais pas pourquoi ca marche pas :( aidez moi s'il vous plais
A voir également:

7 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
Modifié par ThEBiShOp le 24/01/2013 à 15:50
commence par mettre ta requête dans une variable que tu pourras afficher, ça va t'aider à comprendre ce qui ne va pas, tu pourras ensuite l'exécuter dans phpmyadmin

il faut aussi s'assurer que $_GET['sup'] contienne bien quelque chose
0
mekni Messages postés 13 Date d'inscription mardi 1 janvier 2013 Statut Membre Dernière intervention 1 février 2013
24 janv. 2013 à 15:59
j'ai essayer et tjrs ca marche pa
<?php
include 'cnx.php';

if (isset($_GET['sup']))
{
$client = $_GET['sup'] ;
mysql_query('DELETE FROM client WHERE idclient =' . $client .';');
}
?>
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
24 janv. 2013 à 16:14
Tu as quoi dans $_GET['sup'] ?

fais un print_r($_GET['sup']); pour savoir ce qu'il y a dedans.


Ecris ça aussi pour savoir ce qu'il y a dans ta requête :
echo $req = 'DELETE FROM client WHERE idclient =' . $client .';';
mysql_query($req); 
0
mekni Messages postés 13 Date d'inscription mardi 1 janvier 2013 Statut Membre Dernière intervention 1 février 2013
24 janv. 2013 à 16:55
voila le resulat de print_r($_GET['sup']);

Array ( [0] => '.$row[idclient].' [1] => '.$row[idclient].' [2] => '.$row[idclient].' [3] => '.$row[idclient].' ) 1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
24 janv. 2013 à 17:09
si tu remplaces

<td><input type='checkbox' name='sup[]' value="'.$row[idclient].'"></td>

par

<td><input type='checkbox' name='sup[]' value="<?php echo $row[idclient]; ?>"></td>

ça devrait aller un peu mieux

il faudrait aussi que tu parcours $_GET['sup'] parce que c'est un tableau
0
tsoko Messages postés 56 Date d'inscription samedi 29 décembre 2012 Statut Membre Dernière intervention 9 novembre 2013 7
Modifié par tsoko le 24/01/2013 à 17:10
Bonjour,
C'est normal que cela ne marche pas puisque vous récupérer un array alors que vous supprimer sous forme unitaire.
Pour que cela marche, vous devez faire une boucle, genre:
$monArray = $_GET['sub']; 
foreach($monArray as $id){ 
mysql_query('DELETE FROM client WHERE id=' . $id);  
} 


PS : je vous conseille plutôt de passer par du POST pour ce genre d'action!
0
mekni Messages postés 13 Date d'inscription mardi 1 janvier 2013 Statut Membre Dernière intervention 1 février 2013
24 janv. 2013 à 17:54
j'ai corriger mais tjrs s'amarche pas :(
<?php
include 'cnx.php';

if (isset($_POST['sup']))
{
$monArray = $_POST['sup'];
foreach($monArray as $id)
{
$sql= ('DELETE FROM client WHERE idclient=' . $id);
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

}
}
?>
0
mekni Messages postés 13 Date d'inscription mardi 1 janvier 2013 Statut Membre Dernière intervention 1 février 2013
24 janv. 2013 à 17:49
j'ai corriger mais tjrs s'amarche pas :(
<?php
include 'cnx.php';

if (isset($_POST['sup']))
{
$monArray = $_POST['sup'];
foreach($monArray as $id)
{
$sql= ('DELETE FROM client WHERE idclient=' . $id);
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

}
}
?>
0
mekni Messages postés 13 Date d'inscription mardi 1 janvier 2013 Statut Membre Dernière intervention 1 février 2013
24 janv. 2013 à 17:53
aidez moi s'il vous plait :(
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
24 janv. 2013 à 22:57
$sql= 'DELETE FROM client WHERE idclient=' . $id;

ça sera mieux
0