Bonjour,
Je travaille avec php/MSQL pour écrire un code permettant de modifier les info d'un clubFan. après un débogage, j'ai remarqué que le problème c'est que mon code ne se souvient pas de la valeur de la variable idFan transférée dans mes pages et me génère une erreur mySql:
dans ma page "afficher.php", je selectione tout les lignes de la table "fans" de ma BD. pour chaque ligne du tableau, j'ai mis un lien "modifier" sous forme de formulaire avec des champs hidden dont le paramettre "value=idFan". voici le code:"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 select prenom,cin from fans where idFan=".
dans la même page, j'ai la fonctions "envoyer()" pour envoyer le formulaire vers la page "update.php":
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
27
28
29
30
31
32
33
34
35 <?php $lines=afficher_club_fans(); if(!empty($lines)) { // début du tableau echo '<table border=\"1\">'."\n"; // première ligne on affiche les titres prénom et cin dans 2 colonnes echo '<thead>'; echo '<tr>'; echo '<th ><b><u>Prénom</u></b></th>'; echo '<th ><b><u>CIN</u></b></th>'; echo '</tr>'."\n"; echo '</thead>'; echo '<tbody>'; //affichage des resultats for($i=0;$i<count($lines);$i++){ $formName = "form".$lines[$i]['idFan']; echo '<td >'.$lines[$i]['prenom'].'</td>'; echo '<td >'.$lines[$i]['cin'].'</td>'; echo '<td ><form name="'. $formName.'" action="update.php" method="post"> <input type="hidden" name="command" value=""/> <input type="hidden" name="numeroFan" value="'.$lines[$i]['idFan'].'" /> <a href="#" title ="Modifier ce fan" onClick="envoyer(\''.$formName.'\', \'update\')">modifier</a> </form></td>'; echo '</tr>'."\n"; } echo '</tbody>'; echo '</table>'."\n"; } else echo 'Pas d\'enregistrements dans cette table...'; ?>
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script type="text/javascript" > function envoyer($url){ document.forms[$url].submit(); } </script>
je recupère le idFan dans ma page "update.php" ainsi:
dans cette page, j'ai le formulaire dans lequel je recupere les info du Fan selon le $idFan. par la suite, je modifie ses info et click le boutton "update":
Code : Sélectionner tout - Visualiser dans une fenêtre à part $idFan=$_POST['numeroFan'];
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
27
28
29
30 <?php if (isset($_POST['prenom']) && isset($_POST['cin'])) { $newPrenom= $_POST['prenom']; $newCin= $_POST['cin']; $theID= $_POST['idFan']; //$result_array= array("",$_POST['prenom'],$_POST['cin']); //$table= "fans"; echo 'again, this is id fan:' .$idFan; $lines=update_club_fan($theID,$newPrenom,$newCin) or die(mysql_error().$lines); } else echo 'vous devez remplir les champs vide'; ?> <form id="update" name="update" action="#" method="post"> <input type="hidden" name="idFan" value="'.$idFan.'" /><p> <label>nom <input type="text" name="prenom" value="<?php echo $oldPrenom?>"/> </label> <p> <label>CIN <input type="text" name="cin" value="<?php echo $oldCin ?>" /> </label> </p> <p> <input type="submit" name="Update" value="Update" /> </p> </form>
je crois devoir récuperer la variable $idFan=$_POST['numeroFan']; avec javaScript au lieu de php, mais je ne sais pas comment faire ça.
Merci beaucoup pour vos idées
Partager