Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1786 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  supprimer selection checkbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

supprimer selection checkbox

n°1328983
vichenzo
Posté le 20-03-2006 à 18:31:42  profilanswer
 

salut à tous
 
Voila j'ai un tableau qui affiche le nom,..., de mes client; au bout de celui-ci, j'ai une checkbox

Citation :


<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:

Citation :


if(isset($supp_client))
{
foreach ($_POST['check_client'] as $id_client)
{
$supp_client=mysql_query("DELETE FROM client WHERE check_client = $id_client" );
}
}


Merci  

mood
Publicité
Posté le 20-03-2006 à 18:31:42  profilanswer
 

n°1329007
smaragdus
whores, drugs & J.S. Bach
Posté le 20-03-2006 à 19:07:48  profilanswer
 


En jetant un coup d'oeil rapide à ton code :  
DELETE FROM client WHERE id_client = $id_client

n°1329009
vichenzo
Posté le 20-03-2006 à 19:10:58  profilanswer
 

smaragdus a écrit :

En jetant un coup d'oeil rapide à ton code :  
DELETE FROM client WHERE id_client = $id_client


 
slt,
j'ai déjà essayé, mais ça me supprime le premier de la liste...et non celui coché

n°1329017
smaragdus
whores, drugs & J.S. Bach
Posté le 20-03-2006 à 19:21:34  profilanswer
 

Si ça ne fonctionne pas avec id_client, c'est pas en prenant le champ check_client que ça va mieux marcher :lol:
 
Comprends-tu ce que tu fais au moins ?
Comment est définie ta table ?

n°1329022
vichenzo
Posté le 20-03-2006 à 19:28:50  profilanswer
 

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...)

n°1329028
smaragdus
whores, drugs & J.S. Bach
Posté le 20-03-2006 à 19:39:58  profilanswer
 

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 [:dawa]

n°1329074
vichenzo
Posté le 20-03-2006 à 21:25:21  profilanswer
 

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

n°1329211
naceroth
Posté le 21-03-2006 à 01:32:56  profilanswer
 

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 :
  1. <td><input type="checkbox" name="check_client[]" value="<?$id_client;?>"</td>


 
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 :D

n°1329347
vichenzo
Posté le 21-03-2006 à 11:19:57  profilanswer
 


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)

n°1329367
Woutcha
Posté le 21-03-2006 à 11:45:10  profilanswer
 

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; ?>"

Message cité 1 fois
Message édité par Woutcha le 21-03-2006 à 11:45:40
mood
Publicité
Posté le 21-03-2006 à 11:45:10  profilanswer
 

n°1329395
vichenzo
Posté le 21-03-2006 à 12:04:33  profilanswer
 

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).
 
La syntaxe correct est value="<?=$id_client?>" ou value="<? echo $id_client; ?>"


 
ok mais si j'enlève les quote ça peut marcher?

n°1329404
Woutcha
Posté le 21-03-2006 à 12:16:24  profilanswer
 

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";
 

n°1329525
vichenzo
Posté le 21-03-2006 à 15:06:49  profilanswer
 

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 :-(

n°1329547
Woutcha
Posté le 21-03-2006 à 15:20:55  profilanswer
 

vichenzo a écrit :

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 :-(


 
Avec le code complet de la page ce serait beaucoup plus simple de t'aider.

n°1329600
naceroth
Posté le 21-03-2006 à 16:03:11  profilanswer
 

vichenzo a écrit :

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)


 
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 :D

n°1329647
vichenzo
Posté le 21-03-2006 à 17:00:06  profilanswer
 

voilà le code de mon formulaire:

Citation :

$req_client="SELECT * FROM client ORDER BY nom";
$res_client=mysql_query($req_client);
$nb_rows=@mysql_num_rows($res_client);
 
?>
<FORM action="index.php?page=liste_client" method=POST>
<table>
   <tr>
  <td class=soustitre>Liste des clients</td>
 </tr>
 <tr>
  <td height="15"></td>
 </tr>
</table>
<table border=1>
   <tr>
 <td width="">nombre</td>
 <td width="">id client</td>
 <td width="">nom</td>
 <td width="">prenom</td>
 <td width="">email</td>
   </tr>
 <?
 $n=1;
   while ($row=mysql_fetch_array($res_client))
 {?>
   <tr>
    <td width=""><? echo $n++; ?></td>
    <td width=""><? 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="<?echo $id_client;?>"</td>
 </tr>
 <?}?>
 
</table>
<INPUT TYPE="submit" style="background-color:#FFFFCC" name="supp_client" value="supprimer ce(s) client(s)">
</FORM>


n°1329656
naceroth
Posté le 21-03-2006 à 17:07:49  profilanswer
 

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  :ange: ), toutes tes checkbox ont la même valeur dans l'attribut value, ce qui est évidement un soucis.


Message édité par naceroth le 21-03-2006 à 17:10:40
n°1329711
vichenzo
Posté le 21-03-2006 à 18:08:40  profilanswer
 

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 :

<?
if(isset($supp_client))
 {
  $suppression_client=mysql_query("DELETE FROM client WHERE id_client='$check_client'" );
 }
 
?>


Message édité par vichenzo le 21-03-2006 à 18:11:30
n°1329716
naceroth
Posté le 21-03-2006 à 18:12:56  profilanswer
 

Réponse donnée plus haut, donc.

n°1329719
vichenzo
Posté le 21-03-2006 à 18:23:56  profilanswer
 

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...

n°1329721
naceroth
Posté le 21-03-2006 à 18:27:59  profilanswer
 

Code :
  1. <td><input type="checkbox" name="check_client[]" value="<? echo $row['id_client']; ?>"</td>


 
C'était testé ?

n°1329729
vichenzo
Posté le 21-03-2006 à 18:47:05  profilanswer
 

ok c cool ça marche...merci beaucoup d'avoir passe autant de tps pour mes questions :)
 
MERCI!!!

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  supprimer selection checkbox

 

Sujets relatifs
[batch] Supprimer les espaces dans les noms de dossier[MySQL] Requete SQL pour supprimer des enregistrements identiques
Selection vba autocadprob checkbox
[PHP]Lister les checkbox d'un formulaire[VBA-W] Selection.Range.Select !!!???
sélection un objet grace à un stringSélection de région d'image à l'aide la souris
[resolu] cadre de sélection sur une image[Resolu]selection de ligne d'un tableau dynamique et formulaire
Plus de sujets relatifs à : supprimer selection checkbox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR