Tang's | 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 :
- <form name="insertion" action="ModifAst.php" method="POST">
- <?
- mysql_connect("localhost","root","1997OPTIMHOM" ) or die("Impossible de se connecter" );
- mysql_select_db("mysql" ) or die("pas possible de trouver la base" );
- $result2 = mysql_query("SELECT nom FROM astreintes" );
- $nb = mysql_numrows($result2);
- $result1=mysql_query("SELECT nomM FROM astreintesmed" );
- $nbre = mysql_numrows($result1);
- $result = mysql_query("SELECT * FROM astreintesma" );
- $nblignes = mysql_numrows($result);
- for ($i=0;$i<$nblignes;$i=$i+1) {
- $id= mysql_result($result,$i,"id" );
- $jour = mysql_result($result,$i,"jour" );
- $astMed = mysql_result($result,$i,"astMed" );
- $astAdm = mysql_result($result,$i,"astAdm" );
- echo "<tr><td><a href='modifAst.php?id=$id'>$id</td>
- <td><input type='text' name='jour' value='$jour'</td>
- <td><SELECT NAME='persMed'><option>$astMed";
- for ($j=0;$j<$nbre;$j=$j+1) {
- $persMed= mysql_result($result1,$j,"nomM" );
- echo"<OPTION>$persMed</option>";
- }
- echo"</SELECT></td>
- <td><SELECT NAME='persAdm'><option>$astAdm";
- for ($z=0;$z<$nb;$z=$z+1) {
- $pers= mysql_result($result2,$z,"nom" );
- echo"<OPTION>$pers";
- }
- echo"<input type='hidden' name='cle' value='$id'>";
- echo"</select></td><td><input type='submit' value='modifier'></td>
- </tr>";
- }
- ?>
- </form>
|
La voci le code de ma page de traitement :
Code :
- <?php
- //connexion au serveur
- $cnx = mysql_connect( "localhost", "root", "1997OPTIMHOM" ) ;
- //sélection de la base de données:
- $db = mysql_select_db( "mysql" ) ;
- //récupération des valeurs des champs:
- $persMed = $_POST["persMed"] ;
- $persAdm = $_POST["persAdm"] ;
- $jour = $_POST["jour"] ;
- //récupération de l'identifiant du contenu message:
- $cle = $_POST["cle"] ;
- echo "$cle";
- //création de la requête SQL:
- $sql = "UPDATE astreintesMA
- SET jour='$jour',
- astMed='$persMed',
- astAdm='$persAdm'
- WHERE id='$cle' ";
-
- //exécution de la requête SQL:
- $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
- //affichage des résultats, pour savoir si la modification a marchée:
- if($requete)
- {
- echo "<tr class='Devis' align='center' ><td></td><td>La modification à été correctement effectuée</td><td></td></tr>";
- }
- else
- {
- echo "<tr class='Devis' align='center' ><td></td><td>La modification à echouée</td><td></td></tr>";
- }
-
- ?>
|
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 !
|