j ai un petit souci avec une checkbox et un formulaire.
le fonctionnement est le suivant : les gens ont une ligne a remplir, ils envoient les donnees dans la bd en cliquant et en rechargeant la page, si la base contient quelque chose avec leur id, j affiche les resultats avec des checkboxs a cote de chaque ligne de donnees entree pour pouvoir les effacer mais j ai beau avoir mis ma requete dans la boucle d affichage, il n efface que la premiere ligne...
je vous mets les elements du code ou le probleme peut resider :
<?php
include ("connexion/mysql.inc.php");
if (isset($_POST['nom2']) && $i==1){
// on insère les informations du formulaire dans la table
$sql = "INSERT INTO education(id,schoolname,graduation,schoollevel,educationmonth,educationyear) VALUES ('$id','$nomecole','$degree','$ecolelevel','$educationmois','$educationannee')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
//on verifie s il y a quelque chose dans la table
$sql2 = mysql_query("SELECT * FROM education WHERE id=$id ORDER BY educationyear DESC");
$total = mysql_num_rows($sql2);
// si la requete trouve quelque chose on affiche le resultat
if ($total !=0) {
echo "<form name=\"delete\" method=\"post\" action=\"education.php\">";
echo"<tr>";
echo"<td colspan=\"6\" class=\"submessage\">";
echo" </td>";
echo" </tr>";
echo"<tr>";
echo"<td class=\"header\" align=\"center\">annee</td>";
echo" <td class=\"header\" align=\"center\">mois</td>";
echo" <td class=\"header\" align=\"center\" width=\"80%\">jour</td>";
echo" <td class=\"header\" align=\"center\" width=\"10%\"><br/></td>";
echo" <td class=\"header\" align=\"center\" width=\"10%\"><br/></td>";
echo" <td class=\"header\" align=\"center\">";
echo" <input type=\"submit\" name=\"nom\" value=\"effacer\">";
echo" </td>";
echo" </tr>";
// on fait une boucle pour afficher les donnees dans la table
while ($donnees = mysql_fetch_array($sql2) )
{
echo" <tr>";
echo" <td class=\"input1\">";
echo $donnees['educationyear'];
echo "</td>";
echo" <td class=\"input1\">";
echo $donnees['educationmonth'];
echo" </td>";
echo" <td class=\"input1\">";
echo $donnees['jour'];
echo" </td>";
echo" <td class=\"input1\" align=\"center\">";
echo" <input type=\"checkbox\" name=\"aeffacer\" value=\"".$donnees['auto']."\" >";
echo" </td>";
echo" </tr>";
echo" </tr>";
echo"</form>";
// on verifie que la checkbox n est pas vide
$effacer = (isset($_POST['aeffacer']))?$_POST['aeffacer']:null;
// si elle n est pas vide, on efface les donnees dans la table correspondant a auto, intecrement
if (!empty($effacer)) {
$sql2 = mysql_query("DELETE FROM education WHERE auto=".$donnees['auto']."");
echo "DELETE FROM education WHERE auto=".$donnees['auto']."";}
}
}
?>
l echo c est juste pour voir ce que ca donne mais il ne m affiche qu une requete au lieu de plusieurs donc il doit y avoir un probleme mais je ne vois pas ou....si quelqu un voyait ou se trouve l erreur, ca m aiderait beaucoup