Supprimé des lignes de base de bonné
mekni
Messages postés
15
Statut
Membre
-
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
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
<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
7 réponses
-
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 -
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 .';');
}
?> -
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);
-
voila le resulat de print_r($_GET['sup']);
Array ( [0] => '.$row[idclient].' [1] => '.$row[idclient].' [2] => '.$row[idclient].' [3] => '.$row[idclient].' ) 1 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
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! -
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());
}
}
?>