begin process at 2012 05 31 17:52:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Supprimer ligne tableau php / mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Supprimer ligne tableau php / mysql

vendredi 24 avril 2009 à 15:13:31 | Supprimer ligne tableau php / mysql

javo222

Bonjour,
Je rencontre un petit soucis concernant la suppression de ligne en php.
J'ai un tableau de plusieurs colonnes et plusieurs lignes et dans la dernière colonne de chaque ligne un bouton "supprimer".
La suppression marche (même dans la BDD) mais c'est toujours ma dernière ligne qui est supprimée (et non celle en face du bouton comme je le voudrais)...


voici mon tableau sur la page Recap.php :

 				
<form action="RecapSupp.php" method="post">
...
...
<?php while($data3 = mysql_fetch_assoc($sql3))
{

echo "<tr>
<td>$data3[ID]</td> //A CHAQUE LIGNE TOUS LES ID DIFFERENTS S'AFFICHENT CORRECTEMENT
<td>$data3[chp1]</td>
<td>$data3[chp2]</td>
<td>$data3[chp3]</td>
<td><input type=\"hidden\" name=\"ID\" value=\"$data3[ID]\">
<input type=\"submit\" value=\"delete\"></td> // BOUTON SUPPRIMER
</tr>




puis la page RecapSupp.php :

$ID=$_POST["ID"];
echo $ID; // ici c'est l'ID de la dernière ligne qui est affiché :s

$query4 = "DELETE FROM matable WHERE ID=$ID";
mysql_query($query4) or die(mysql_error());




auriez vous un tuyau à me donner?
merci
vendredi 24 avril 2009 à 16:43:54 | Re : Supprimer ligne tableau php / mysql

Vonscott

Salut,

Effectivement cela ne peut pas marcher. Deja un submit doit etre contenu dans un <form>

Essaye plutot quelque chose comme ca à la place du <input type="hidden"...

echo '<form method="post" action="RecapSupp.php">';
$i=0;
while($data3 = mysql_fetch_assoc($sql3))
 {
   //ton code jusqu'a <input type="hidden" mais a la place tu met ceci
   <input type=\"checkbox\" name=\"$i"\" value=\"$data3[ID]\" />
  $i++;
 }

et dans ton fichier RecapSupp.php

 foreach($_POST as $indice=>$valeur)
  {
    $query4 = "DELETE FROM matable WHERE ID=$valeur";     mysql_query($query4) or die(mysql_error());
}
mardi 28 avril 2009 à 15:20:22 | Re : Supprimer ligne tableau php / mysql

javo222

Bonjour,
j'ai essayé ce que tu m'a dis:
dans Recap:
<?php $i=0;
while($data3 = mysql_fetch_assoc($sql3))
{     echo "<tr>
     <td>$data3[ID]</td>
     <td>$data3[Designation]</td>
...
....
     <td>$data3[Contact]</td>
     <td><input type=\"checkbox\" name=\"$i\" value=\"$data3[ID]\" />
     
    <INPUT TYPE=\"button\" name=\"Delete\" onclick=\"javascript:envoie('RecapSupp.php')\" value=\"delete\">
     </tr>
     
     ";
     $i++;}?>


et dans RecapSupp:
 foreach($_POST as $key=>$valeur)
  {
    $query4 = "DELETE FROM materiel WHERE ID=$valeur";   
    mysql_query($query4) or die(mysql_error());
}


mais j'ai l'erreur

Champ 'test1' inconnu dans where clause

où test1 est ce que j'ai tapé dans la 2ème colonne (designation)

je ne sais pas vraiment quoi faire la
pourriez vous m'aider svp

Merci
jeudi 30 avril 2009 à 13:47:49 | Re : Supprimer ligne tableau php / mysql

javo222

Bonjour,

Personne ne saurait m'aider svp? :(
lundi 4 mai 2009 à 10:52:59 | Re : Supprimer ligne tableau php / mysql

javo222

Pas d'idées?
lundi 4 mai 2009 à 13:42:09 | Re : Supprimer ligne tableau php / mysql

kohntark

Membre Club
Salut,

C'est bien normal que ça ne fonctionne pas car tes hidden portent le même nom et c'est donc le dernier qui prime.
Il y a plusieurs manières de faire. Dans la majorité des cas mettre des boutons à chaque fin de ligne n'est pas le plus approprié, mais ça dépend de ton appli.
Dans l'idée de Vonscott :
Tu remplaces :
<input type=\"checkbox\" name=\"$i\" value=\"$data3[ID]\" />
=>
<input type=\"checkbox\" name=\"delete[]\" value=\"$data3[ID]\" />

Tu mets 1 (ou plusieurs) bouton submit "supprimer les enregistrements sélectionnés"

Tu récupères ensuite, dans RecapSupp.php, un tableau contenant toutes les checkbox des lignes cochées, de la forme :
Array ( [delete] => Array ( [0] => 'id_1ere_ligne_a_supp', [1] => 'seconde ligne à supp', [2] => etc... ) )

Il ne te reste alors plus qu'à mettre ta requête de suppression dans une boucle.

Cordialement,


Kohntark -



Cette discussion est classée dans : ligne, php, tableau, supprimer, id


Répondre à ce message

Sujets en rapport avec ce message

tableau en php [ par psychodingue ] Bonjours tout le monde,Moi j'ai un gros problème, je vais essayer de vous expliquer facilement...Voilà, je suis en train de faire le site d'un magasin probleme "d'interference" des case........ [ par niko14 ] Bonjour j'ai encore un léger probleme!! Mons ite est en methode mvc c'est a dire que je passe par des case pour choisir l'action que je vais faire,(je probleme de session sous easyphp-1.8 [ par mizoguchi ] salut à tous,j'ai un gros souci de session, aprés authentification de user par l'id et le mot de passe. s'ouvre à ce dernier une session dans la page une ligne mysql dans une case de tableau [ par bubbledesavon ] bonjour,je me permet d'ecrire car je n'arrive pas a trouver de correspondance a ce que je recherche.j'ai une table mysql "id,nom,descriptif,image,nume image de suppression de ligne de la base de donnée [ par toutaonline ] bonjour,j'ai un problème quant à la supression de lignes d'un tableauj'ai crée une page php contenant un tableau qui s'alimente dynamiquement à partir comment spprimer une ligne de tableau dynamique? [ par bkhbkh ] bkh je cherche comment supprimer une ligne de tableau dynamique et aussi leurs données de la tableau comme par exemple le cas de boite mail reçu où on Requête tri tableau 2 dimensions [ par bruno9173 ] Bonjour,Je me tourne à nouveau vers la communauté, pour lui demander comment écrire une requête sql qui serait chargée de trier un tableau 2 dimension Mettres des liens dans une liste déroulante php [ par Shikapowa ] Mesdames Messieurs bonjour :)Un petit soucis à ce jours, j'essaie (en vain) d'instaurer des liens dans des listes déroulantes () mais cela ne fonction Comment savoir le id d'un champ de texte en php [ par marocmarocmaroc ] Bonjours;Je travaille avec php je voudrais savoir comment récupérer un id lors de l'affichage d'un non de personne dans un champ de textePar exemple a Executer une ligne de commande sur PC client [ par Yannikator ] Bonjour,j'essaie de mettre en place un script afin de lancer une ligne de commande sur mon poste via une interface PHP. L'objectif:Recueillir les info


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales