checkbox mise à jour base de données

checkbox mise à jour base de données - PHP - Programmation

Marsh Posté le 01-03-2012 à 14:39:23    

bonjour tout le monde
 
Je  vous explique mon problème
Je dois créer une Checkbox sur un formulaire php qui cocher doit mettre à jour un champ dans une base de donnée "qui le supprime" (une photo par exemple)sinon le laisser tel quel
pouvez-vous me montrer un/des exemples car je bloques dessus depuis un moment.
 
 
merci bien
 
:)


Message édité par unionx le 01-03-2012 à 14:54:47
Reply

Marsh Posté le 01-03-2012 à 14:39:23   

Reply

Marsh Posté le 01-03-2012 à 16:53:56    

personne pour aider messieurs, dames?

Reply

Marsh Posté le 01-03-2012 à 18:00:53    

ben tu mets un checkbox avec dans le value, l'ID de l'enregistrement à supprimer et dans le name, un truc du genre "checkbox_" + ID.
 
Côté serveur, tu fais un if (isset($_POST['checkbox_ID'])) suivi du traitement sur l'ID (ici, une suppression).


Message édité par rufo le 19-04-2012 à 08:54:18

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-04-2012 à 16:57:32    

Bonjour,  
 
J'ai a peu pres le meme type de probleme et je dois dire que la fatigue aidant je suis en train de caler grave.
 
Pour info je n ai que tres peux de connaissances mais j'apprends vite.
 
Voici une image de l'interface que j'ai cree.
http://i41.tinypic.com/jfvwjo.png
 
Mon but est de pouvoir selectionner (ou pas) les checkbox Died ou undied des differentes lignes (dans l exemple il n'y en a qu'une)et valider l'ensemble des checkbox avec les boutons kill et unkill.
Avec le code que j ai ecris (j ai fais comme j ai pus)
Je ne sais plus ou mettre les form action pour que tout soit valide en une fois.
 
Voici la partie du code qui concerne cette partie.
 
 

Code :
  1. $n= 0;
  2. $colordied="#FF0000";
  3. echo "<table> <caption>Results</caption><tr><th>number</th><th>genotype</th>
  4. <th>Category</th><th>Died</th><th>Undied</th></tr>";
  5. while ($requete = mysql_fetch_array($resultat)) {
  6.  $number=$requete["Number"];
  7.  $gen=$requete["Genotype"];
  8.  $cat=$requete["Category"];
  9.  $died=$requete["died"];
  10. if ($died ==1) {
  11. echo "<tr><td bgcolor=\"$colordied\"><a href='details2.php?fly_number=".$number."' target='page1'>"
  12.  .$number."</a><br></td><td bgcolor=\"$colordied\">$gen</td><td bgcolor=\"$colordied\">$cat</td><td bgcolor=\"$colordied\"> <input type='checkbox' name='undied&#.number.' value='".$number."'></td>
  13.  <td bgcolor=\"$colordied\"><input type='checkbox' name='died&#.number.' value='".$number."'></td></tr>";}
  14.  else {echo "<tr><td><a href='details2.php?fly_number=".$number."' target='page1'>"
  15.  .$number."</a><br></td><td>$gen</td><td>$cat</td><td> <input type='checkbox' name='undied&#.number.' value='".$number."'></td>
  16.  <td><input type='checkbox' name='died&#.number.' value='".$number."'></td></tr>";}
  17.  $n++;
  18. }
  19. echo "<tr><td></td></td><td></td><td></td><td> <input type='submit' name='Kill' value='Kill flies'></td>
  20.  <td><input type='submit' name='Unkill' value='Unkill flies'></td></tr>";
  21. echo"</table>";

.
 
 
Quelqu'un a une suggestion ?
 
Merci pour votre aide.


Message édité par VSV-M le 18-04-2012 à 17:11:41

---------------
PSN : Luluberlu
Reply

Marsh Posté le 18-04-2012 à 17:53:43    

J'ai trouver plusieurs erreurs (pas etonnant ;0) et je pense avoir la solution en metant le form  avant le tableau et rendre vraiment dinamyque le nom des checkbox.


Message édité par VSV-M le 18-04-2012 à 17:56:22

---------------
PSN : Luluberlu
Reply

Marsh Posté le 19-04-2012 à 08:58:40    

Le nom de la checkbox doit justement être le même mais comporter des []
Ex : "Died[]" et "UnDied[]" et dans le value, tu mets l'ID de la ligne...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-04-2012 à 11:33:09    

Merci pour la reponse, c'est en effet ce que j avais trouve.
 

Code :
  1. $n= 0;
  2. $colordied="#FF0000";
  3. echo "<FORM name='diedform' action='update_died.php' method='get'>
  4. <table border=0> <caption>Results</caption><tr><th>number</th><th>genotype</th>
  5. <th>Category</th><th>Died</th><th>Undied</th></tr>";
  6. while ($requete = mysql_fetch_array($resultat)) {
  7.  $number=$requete["Number"];
  8.  $gen=$requete["Genotype"];
  9.  $cat=$requete["Category"];
  10.  $died=$requete["died"];
  11.  $idx=$requete["idx"];
  12. if ($died ==1) {
  13. echo "<tr><td bgcolor=\"$colordied\"><a href='details2.php?fly_number=".$number."' target='page1'>"
  14.  .$number."</a><br></td><td bgcolor=\"$colordied\">$gen</td><td bgcolor=\"$colordied\">$cat</td><td bgcolor=\"$colordied\"></td>
  15.  <td bgcolor=\"$colordied\"><input type='checkbox' name='undied[]' value='".$idx."'></td></tr>";}
  16.  else {echo "<tr><td><a href='details2.php?fly_number=".$number."' target='page1'>"
  17.  .$number."</a><br></td><td>$gen</td><td>$cat</td><td> <input type='checkbox' name='died[]' value='".$idx."'></td>
  18.  <td></td></tr>";}
  19.  $n++;
  20. }
  21. echo "<tr><td></td></td><td></td><td></td><td colspan=2> <input type='submit' name='Kill' value='Kill and Unkill flies'></td>
  22.  </tr>";
  23. echo"</table>";


 
Maintenant je suis en train d'inclure dans la page de reponse l'update de la bdd, mais je bloue pour le moment a cause de la boucle foreach
 

Code :
  1. if(isset($_GET['died'] )){
  2. foreach ($_GET ['died']AS $diedidx =>$value)
  3. $requetekill= "UPDATE `fly_db`.`flydbtest2` SET `died` = '1' WHERE `flydbtest2`.`idx` ='$value'";
  4. mysql_query($requetekill) ;
  5.      echo 'flie number ',$diedidx,'has been killed','<br />',$requetekill, "\n";


 
 
Forcement il n' y a que la derniere valeure qui est prise en compte.
 
Je ne sais pas si la meilleur facon est de creer differentes requete (nom de variable dynamique) ou encore de pouvoir tout injecter d un coup ...
 
Je suis en train de me documenter.
 
 :jap:


---------------
PSN : Luluberlu
Reply

Marsh Posté le 19-04-2012 à 11:42:52    

il manque les {... } pour ton foreach :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-04-2012 à 12:29:09    

Merde....
 c'etait ca. J'avais sans la requete et ca marchait.
 
Merci beacoup.


---------------
PSN : Luluberlu
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed