Rechercher : dans
Par :

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

Dernière réponse le 15 sep 2006 à 20:00:49 Onizuguts, le 13 sep 2006 à 23:09:18 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « [PHP] Tableau a partir d'une table : erreur ! » dans :
[PHP] Méthodes de débogage VoirI. Informations sur une variable I.1 echo I.2 print_r() I.3 var_dump() / var_export() I.4 Rediriger la sortie (ne pas afficher à l'écran) II. "Backtrace" ou rapport de contexte III. Bien utiliser les rapports d'erreur IV. Le mot clé...
PHP - Concaténation VoirPHP permet de concaténer des chaînes de caractères grâce à l'opérateur "." : $concatenation= $a . $b; Ou encore pour affecter, dans la variable $a, la valeur de la concaténation de $a et de $b : $a.=$b; Pour concaténer des chaînes et des...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Tableaux HTML VoirUtilisation de tableaux Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes. Un...

1

ceddec, le 14 sep 2006 à 17:55:02

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
}

Répondre à ceddec

2

Onizuguts, le 14 sep 2006 à 18:47:50

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 ! :)

Répondre à Onizuguts

3

 Ssylvainsab, le 15 sep 2006 à 20:00:49

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 : http://www.siteduzero.com/tuto-3-1600-1-optimiser-un-script-php.html Sylvain

Répondre à Ssylvainsab
Collection CommentÇaMarche.net