PHP MAJ table, formulaire ds un tableau

PHP MAJ table, formulaire ds un tableau - PHP - Programmation

Marsh Posté le 23-02-2006 à 20:53:07    

Bonjour,
 
 
J'ai un problème qui est le suivant :
J'ai deux tables astreintes (contient le personnel administratif) astreintesmed (personnel med) (j aurais pu les reunir et rajouter un champ pour effectuer un tri dans mon select mais bon...) et astreintes ma.  
La base a mettre à jour est astreintesma.
Voici le code :

Code :
  1. <form name="insertion" action="ModifAst.php" method="POST">
  2. <?
  3. mysql_connect("localhost","root","1997OPTIMHOM" ) or die("Impossible de se connecter" );
  4. mysql_select_db("mysql" ) or die("pas possible de trouver la base" );
  5. $result2 = mysql_query("SELECT nom FROM astreintes" );
  6. $nb = mysql_numrows($result2);
  7. $result1=mysql_query("SELECT nomM FROM astreintesmed" );
  8. $nbre = mysql_numrows($result1);
  9. $result = mysql_query("SELECT * FROM astreintesma" );
  10. $nblignes = mysql_numrows($result);
  11. for ($i=0;$i<$nblignes;$i=$i+1) {
  12.      $id= mysql_result($result,$i,"id" );
  13.      $jour =  mysql_result($result,$i,"jour" );
  14.  $astMed =  mysql_result($result,$i,"astMed" );
  15.  $astAdm = mysql_result($result,$i,"astAdm" );
  16.  echo "<tr><td><a href='modifAst.php?id=$id'>$id</td>
  17.  <td><input type='text' name='jour' value='$jour'</td>
  18.  <td><SELECT NAME='persMed'><option>$astMed";
  19.   for ($j=0;$j<$nbre;$j=$j+1) {
  20.       $persMed= mysql_result($result1,$j,"nomM" );
  21.   echo"<OPTION>$persMed</option>";
  22.   }
  23.  echo"</SELECT></td>
  24.  <td><SELECT NAME='persAdm'><option>$astAdm";
  25.  for ($z=0;$z<$nb;$z=$z+1) {
  26.       $pers= mysql_result($result2,$z,"nom" );
  27.   echo"<OPTION>$pers";
  28.   }
  29.  echo"<input type='hidden' name='cle' value='$id'>";
  30.  echo"</select></td><td><input type='submit' value='modifier'></td>
  31.  </tr>";
  32. }
  33. ?>
  34. </form>


La voci le code de ma page de traitement :

Code :
  1. <?php
  2.   //connexion au serveur
  3.   $cnx = mysql_connect( "localhost", "root", "1997OPTIMHOM" ) ;
  4.   //sélection de la base de données:
  5.   $db  = mysql_select_db( "mysql" ) ;
  6.   //récupération des valeurs des champs:
  7.   $persMed    = $_POST["persMed"] ;
  8.   $persAdm     = $_POST["persAdm"] ;
  9.   $jour     = $_POST["jour"] ;
  10.     //récupération de l'identifiant du contenu message:
  11.   $cle         = $_POST["cle"] ;
  12.     echo "$cle";
  13.   //création de la requête SQL:
  14.   $sql = "UPDATE astreintesMA
  15.             SET jour='$jour',
  16.   astMed='$persMed',
  17.   astAdm='$persAdm'
  18.             WHERE id='$cle' ";
  19.  
  20.   //exécution de la requête SQL:
  21.   $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
  22.    //affichage des résultats, pour savoir si la modification a marchée:
  23.   if($requete)
  24.   {
  25.    echo "<tr class='Devis' align='center' ><td></td><td>La modification à été correctement effectuée</td><td></td></tr>";
  26.   }
  27.   else
  28.   {
  29.     echo "<tr class='Devis' align='center' ><td></td><td>La modification à echouée</td><td></td></tr>";
  30.   }
  31.  
  32. ?>


Le problème est que je ne peux modifier ainsi toute ma base d un coup. $id est toujours égal à 8 à la fin de la boucle...
Comment puis je faire? Je ne souhaite pas afficher l id par exemple, cliquer dessus comme c'est habituellement proposé sur les sites traitant de PHP.
 
Une dernière chose  : lorsque j affiche la valeur actuelle d une personne puis la base dans laquelle est contenue cette personne j ai un doublon comment puis je tester la valeur et l eliminer?
 
Merci !
 

Reply

Marsh Posté le 23-02-2006 à 20:53:07   

Reply

Sujets relatifs:

Leave a Replay

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