Bonjour,
Après avoir plusieurs fois testé des trucs, je tourne en rond... (même si c'est le principe d'une boucle)
Blague a part...
J'ai une table "grille"
- id (autoincrement - cle primaire)
- creneau
- emission
Le champs crenaux contient :
- Lun7h00
- Mar7h00
- Mer 7h00
...
- Lun8h00
...
et ainsi de suite. Le but etant d'attribuer une "emission" a chacun de ces champ.
La table emission est complete. J'ai fait mon formulaire de maniere à ce chaque colonne et ligne :
chaque cellule du tableau :
donc renvoi sur un include, le voici (et j'explique ce que j'ai fait après) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <tr> <td align="center" class="NEWSAUTEUR">7h15</td> <td width="13%"><? $name='lun0715'; include("boite_grille.php"); ?></td> <td width="13%"><? $name='mar0715'; include("boite_grille.php"); ?></td> <td width="13%"><? $name='mer0715'; include("boite_grille.php"); ?></td> <td width="13%"><? $name='jeu0715'; include("boite_grille.php"); ?></td> <td width="13%"><? $name='ven0715'; include("boite_grille.php"); ?></td> <td width="13%"><? $name='sam0715'; include("boite_grille.php"); ?></td> <td width="13%"><? $name='dim0715'; include("boite_grille.php"); ?></td> </tr>
- Pour que chaque élément de formulaire ai un nom différent, il est nommé dans le premier code (exemple : $name='lun0715')
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php include("identifiants.php"); mysql_connect($adresse, $nom, $motdepasse); mysql_select_db($database) or die ("erreur de connexion base"); $emission = mysql_query("SELECT * FROM emission WHERE id>=0 ORDER BY id DESC"); $name2 = $name.'2'; $ename= 'e'.$name; $emis= mysql_query("SELECT * FROM grille WHERE creneau='$name'"); $resulemis= mysql_fetch_assoc($emis); $id=$resuemis['id']; ?> <select name="<? echo '$ename' ?>"> <option value="<?php echo $resulemis['emission']; ?>"><?php echo $resulemis['emission']; ?></option> <? while( $name2 = mysql_fetch_array($emission) ) { ?> <option value="<?php echo $name2['nom']; ?>"><?php echo $name2['nom']; ?></option> <? } ?> </select>
- ce nom est repris pour afficher par défaut l'émission déjà enregistrée dans la base de données sur chaque élément de formulaire. ça, ça marche. c'est à dire que si dans ma base de données, je tape le nom d'une émission dans tel ou tel array (lun07h00, lun08h00, mar 07h00 etc...) ça affiche bien celui la par défaut.
Mon soucis, c'est que la requête pour ECRIRE les changement dans la BdD ne fonctionne pas et je n'arrive pas à trouver.
ce qui se rapproche le plus pour l'instant :
La boucle ressort bien tous les champ 'creneau' un par un, mais ça n'ecrit rien du coté 'emission'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 if (isset($_POST['update'])) { $id = $_POST['$id']; $crenaux = $_POST['$name']; $emission = $_POST['$ename']; $insertcrenaux = mysql_query("SELECT * FROM grille WHERE id>=0"); while( $donnees = mysql_fetch_array($insertcrenaux ) ) { $cren = $donnees['crenaux']; $emis = $donnees['emission']; $requete1 = mysql_query("UPDATE grille SET emission='$emis' WHERE crenaux ='$cren'") or die ("Erreur sql1"); echo 'Grille ('.$cren.') mise à jour<br />'; } }
J'espère avoir été le plus clair possible...
Donc, si quelqu'un a une idée, je suis preneur
Pour toutes question, n'hesitez pas.
Par avance, un gros merci![]()
Partager