[PHP] Tableau a partir d'une table : erreur !
Résolu
Onizuguts
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Ssylvainsab Messages postés 2884 Date d'inscription Statut Modérateur Dernière intervention -
Ssylvainsab Messages postés 2884 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour !
Je souhaite créer un tableau dynamique à partir d'une table de la base avec ce code :
Le problème c'est que cette erreur s'affiche lors de l'execution : "Parse error: syntax error, unexpected T_STRING, expecting ']' in /home/m/a/i/maisonlhome/www/admin.php on line 58".
La ligne 58 est la ligne de la première balise <td>.
Auriez-vous une idée ?
Merci.
Je souhaite créer un tableau dynamique à partir d'une table de la base avec ce code :
<?php do { ?> <tr> <td><?php echo $row_Recordset1[''nom'']; ?></td> <td><?php echo $row_Recordset1[''prenom'']; ?></td> <td><?php echo $row_Recordset1[''telephone'']; ?></td> <td><?php echo $row_Recordset1[''email'']; ?></td> <td><?php echo $row_Recordset1[''commentaires'']; ?></td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
Le problème c'est que cette erreur s'affiche lors de l'execution : "Parse error: syntax error, unexpected T_STRING, expecting ']' in /home/m/a/i/maisonlhome/www/admin.php on line 58".
La ligne 58 est la ligne de la première balise <td>.
Auriez-vous une idée ?
Merci.
A voir également:
- [PHP] Tableau a partir d'une table : erreur !
- Tableau word - Guide
- Table ascii - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Table des matières word - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
3 réponses
Bonjour,
Pour moi c'est à cause de ' ' (si c'est bien ça que tu as mis?). Il ne faut pas mettre 2 quotes mais 1 seule (ou des guillemets) le code deviendrait :
Autre Remarque :
La boucle me parait incorrecte :
si tu fais un do {.A.} while(..) cela signifie que tu fais d'abord les instructions A avant de faire le test. Or tu utilises $row_Recordset1['nom']; qui n'est définit que si tu fais le mysql_fetch_array (qui fait parti du test). Tout ca pour dire que si tu ne fais pas de mysql_fetch_array avant ta boucle, je crois que celle ci ne fonctionnera pas. La solution serait de faire un while classique:
Pour moi c'est à cause de ' ' (si c'est bien ça que tu as mis?). Il ne faut pas mettre 2 quotes mais 1 seule (ou des guillemets) le code deviendrait :
<?php do { ?> <tr> <td><?php echo $row_Recordset1['nom']; ?></td> <td><?php echo $row_Recordset1['prenom']; ?></td> <td><?php echo $row_Recordset1['telephone']; ?></td> <td><?php echo $row_Recordset1['email']; ?></td> <td><?php echo $row_Recordset1['commentaires']; ?></td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
Autre Remarque :
La boucle me parait incorrecte :
si tu fais un do {.A.} while(..) cela signifie que tu fais d'abord les instructions A avant de faire le test. Or tu utilises $row_Recordset1['nom']; qui n'est définit que si tu fais le mysql_fetch_array (qui fait parti du test). Tout ca pour dire que si tu ne fais pas de mysql_fetch_array avant ta boucle, je crois que celle ci ne fonctionnera pas. La solution serait de faire un while classique:
while($row...=mysql_fetch_array($Recordset)) { ?> <tr> <td><?php echo $row_Recordset1['nom']; ?></td> <td><?php echo $row_Recordset1['prenom']; ?></td> <td><?php echo $row_Recordset1['telephone']; ?></td> <td><?php echo $row_Recordset1['email']; ?></td> <td><?php echo $row_Recordset1['commentaires']; ?></td> </tr> <?php }
J'ai résolu le problème en début d'aprés-midi et le code marche niquel comme ça :
C'est vrai que ta solution parait plus logique mais bon...ça marche comme ça !
Merci pour ton aide ! :)
<?php do { ?> <tr> <td><?php echo $row_Recordset1["'nom'"]; ?></td> <td><?php echo $row_Recordset1["'prenom'"]; ?></td> <td><?php echo $row_Recordset1["'telephone'"]; ?></td> <td><a href="mailto:<?php echo $row_Recordset1["'email'"]; ?>"><?php echo $row_Recordset1["'email'"]; ?></a></td> <td><?php echo $row_Recordset1["'commentaires'"]; ?></td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
C'est vrai que ta solution parait plus logique mais bon...ça marche comme ça !
Merci pour ton aide ! :)
salut
une petite aide pour optimiser ton script.
Remplace ton code par :
Astuce trouvée sur : https://openclassrooms.com/fr/courses
une petite aide pour optimiser ton script.
Remplace ton code par :
<?php do { ?> <tr> <td><?php echo $row_Recordset1["'nom'"] , '</td> <td>' , $row_Recordset1["'prenom'"] , '</td> <td>' , $row_Recordset1["'telephone'"] , '</td> <td><a href="mailto:' , $row_Recordset1["'email'"] , '">' , $row_Recordset1["'email'"] , </a></td> <td>' , $row_Recordset1["'commentaires'"] , '</td> </tr>'; ?> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
Astuce trouvée sur : https://openclassrooms.com/fr/courses