[PHP] Tableau a partir d'une table : erreur !

Résolu/Fermé
Onizuguts Messages postés 2 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 14 septembre 2006 - 13 sept. 2006 à 23:09
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 - 15 sept. 2006 à 20:00
Bonjour !
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.

3 réponses

ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
14 sept. 2006 à 17:55
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 :

<?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
}
0
Onizuguts Messages postés 2 Date d'inscription mercredi 13 septembre 2006 Statut Membre Dernière intervention 14 septembre 2006
14 sept. 2006 à 18:47
J'ai résolu le problème en début d'aprés-midi et le code marche niquel comme ça :

<?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 ! :)
0
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
15 sept. 2006 à 20:00
salut

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
0