supprimer selection checkbox - PHP - Programmation
Marsh Posté le 20-03-2006 à 19:07:48
En jetant un coup d'oeil rapide à ton code :
DELETE FROM client WHERE id_client = $id_client
Marsh Posté le 20-03-2006 à 19:10:58
smaragdus a écrit : En jetant un coup d'oeil rapide à ton code : |
slt,
j'ai déjà essayé, mais ça me supprime le premier de la liste...et non celui coché
Marsh Posté le 20-03-2006 à 19:21:34
Si ça ne fonctionne pas avec id_client, c'est pas en prenant le champ check_client que ça va mieux marcher
Comprends-tu ce que tu fais au moins ?
Comment est définie ta table ?
Marsh Posté le 20-03-2006 à 19:28:50
ben là est tout le probleme...
J'essaye de comprendre, et quand je pense avoir compris et bien ça ne marche pas!!! donc j'essaye un peu tout pour voir en me disant que peut être...
Bref ma table est une table client avec une cle primaire (id_client) et des champs (nom, prenom, email...)
Marsh Posté le 20-03-2006 à 19:39:58
C'est pas comme ça qu'on programme proprement, c'est pas de la cuisine.
Commence par ouvrir une doc :
www.php.net
www.mysql.org
Marsh Posté le 20-03-2006 à 21:25:21
merci mais j'avais deja regarde...et je pensais que là c'était suffisement avancé pour que l'on puisse m'aider....
bon ben je continuerai a cherhcer par moi même
Merci quand même
Marsh Posté le 21-03-2006 à 01:32:56
Bon, je suis pas madame soleil, mais si en se basant sur la requête de Smaragdus, tu supprimes le premier de la liste et non celui que tu coches, faudrait peut être voir du côté du formulaire...
J'avoue qu'un truc comme
Code :
|
me pousse à demander
1. si tu n'as pas oublier un echo dans la ligne
2. si ton $id_client est défini quelque part, sachant que tu utilises $row['id_client'] un peu plus haut.
Voilà, on va dejà attendre les réponses à ces deux questions
Marsh Posté le 21-03-2006 à 11:19:57
slt,
il me manque un echo dans quelle ligne?
tu veux dire: <td><input type="checkbox" name="check_client[]" value="<?echo '$id_client';?>"</td> ??
normalement mon id_client est defini car je le recupere de mon formulaire (en POST)
Marsh Posté le 21-03-2006 à 11:45:10
Si tu fais value="<?echo '$id_client';?>", tu vas te retrouver avec value="$id_client" dans ton HTML... (les variable entre simples quotes ne sont PAS interpretees en php).
La syntaxe correct est value="<?=$id_client?>" ou value="<? echo $id_client; ?>"
Marsh Posté le 21-03-2006 à 12:04:33
Woutcha a écrit : Si tu fais value="<?echo '$id_client';?>", tu vas te retrouver avec value="$id_client" dans ton HTML... (les variable entre simples quotes ne sont PAS interpretees en php). |
ok mais si j'enlève les quote ça peut marcher?
Marsh Posté le 21-03-2006 à 12:16:24
vichenzo a écrit : ok mais si j'enlève les quote ça peut marcher? |
A ben oui que ca peut marcher... les quotes (simples ou doubles) sont utilisees en php pour delimiter une chaine de caractere.
Ici tu veux juste afficher une variable. Donc il n'y a absolument pas besoin de quotes.
note : le seul cas ou tu trouveras une variable entre quote c'est avec des DOUBLES QUOTES. Dans ce cas les
noms de variable sont interpretes et remplaces par la valeur de cette variable.
ex :
$nom = 'toto';
print "Mon nom est $nom";
Marsh Posté le 21-03-2006 à 15:06:49
j'ai retiré les quote est j'ai mis dans mon formulaire:
<td><input type="checkbox" name="check_client[]" value="<?echo $id_client;?>"</td>
mais il ne se passe rien :-(
Marsh Posté le 21-03-2006 à 15:20:55
vichenzo a écrit : j'ai retiré les quote est j'ai mis dans mon formulaire: |
Avec le code complet de la page ce serait beaucoup plus simple de t'aider.
Marsh Posté le 21-03-2006 à 16:03:11
vichenzo a écrit : slt, |
Donne nous le code complet de ton formulaire tel que tu l'as actuellement. Un copier/coller si possible, histoire d'éviter ce echo complètement absent de la ligne que je citais plus haut.
Et je veux savoir d'où sort ce $id_client dans le formulaire, parce que lui, là, je le vois défini nulle part et que tu te sers d'un $row['id_client'] pour identifier ton client 4 lignes plus haut, ça me semble bizarre ce bout de code
Marsh Posté le 21-03-2006 à 17:00:06
voilà le code de mon formulaire:
Citation : $req_client="SELECT * FROM client ORDER BY nom"; |
Marsh Posté le 21-03-2006 à 17:07:49
Donc voilà, on a donc bien aucune initialisation de $id_client, qui selon ta table devrait plutôt être $row['id_client'] non ?
//edit : tips de débugage : regarde le code html généré pour ton formulaire, normalement (à moins qu'il en manque encore un morceau ), toutes tes checkbox ont la même valeur dans l'attribut value, ce qui est évidement un soucis.
Marsh Posté le 21-03-2006 à 18:08:40
voila le seul bout de code qui manque sur ma page..;mais je l'avai deja mis plus haut...là tu as ma page complete
Citation : <? |
Marsh Posté le 21-03-2006 à 18:23:56
alors je dois etre un peu long a la detente ou vraiment tres mauvais mais toutes les reponses qui ont ete propose je les ai teste...et ca ne marche pas...
Marsh Posté le 21-03-2006 à 18:27:59
Code :
|
C'était testé ?
Marsh Posté le 21-03-2006 à 18:47:05
ok c cool ça marche...merci beaucoup d'avoir passe autant de tps pour mes questions
MERCI!!!
Marsh Posté le 20-03-2006 à 18:31:42
salut à tous
Voila j'ai un tableau qui affiche le nom,..., de mes client; au bout de celui-ci, j'ai une checkbox
<td ><? echo $row["id_client"]; ?></td>
<td width=""><? echo $row["nom"]; ?></td>
<td width=""><? echo $row["prenom"]; ?></td>
<td width=""><? echo $row["email"]; ?></td>
<td><input type="checkbox" name="check_client[]" value="<?$id_client;?>"</td>
<INPUT TYPE="submit" name="supp_client" value="supprimer ce client">
Je voudrais en cochant un client et en cliquant sur le bouton, que le client soit supprimé. J'ai essayé avec ça mais ça ne marche pas:
if(isset($supp_client))
{
foreach ($_POST['check_client'] as $id_client)
{
$supp_client=mysql_query("DELETE FROM client WHERE check_client = $id_client" );
}
}
Merci