Page 1 sur 1

erreur de syntaxe?

Posté : 14 nov. 2007, 13:57
par Invité
Bonjour à tous,

j'ai créé la boucle suivante pour afficher des données
foreach($rows as $row)
{
	echo "<tr>";
	echo "<td>"  . $row->id . "</td>"; 
	echo "<td>"  . $row->intitule . "</td>";      // ligne 19
	echo "<td>"  . $row->typeContrat . "</td>"; 
	echo "<td>"  . $row->typePoste . "</td>"; 
	echo "<td>"  . $row->statut . "</td>"; 
	echo "<td>"  . $row->secteurActi . "</td>"; 
	echo "<td>"  . $row->localisation . "</td>";
	echo "<td>"  . $row->dateDebut . "</td>";  
	echo "<td>"  . $row->descriptif . "</td>"; 
	echo "<td>"  . $row->qualification . "</td>"; 
	echo "<td>"  . $row->salaire . "</td>"; 
	echo "<td>"  . $row->postuler . "</td>"; 
	echo "<td>"  . $row->nomSoc . "</td>"; 
	echo "<td>"  . $row->adrSoc . "</td>"; 
	echo "<td>"  . $row->villeSoc . "</td>"; 
	echo "<td>"  . $row->cpSoc . "</td>"; 
	echo "<td>"  . $row->siteSoc . "</td>"; 
	echo "<td>"  . $row->dateSoumiss . "</td>"; 
	echo "<td>"  . $row->published . "</td>"; 
	echo "</tr>";
}
Je reçois l'erreur:
Parse error: syntax error, unexpected T_ECHO in c:\program files\easyphp1-8\www\amofib\components\com_jobs\jobs.php on line 19
Je ne vois pas pourquoi...qund je supprime la ligne 19, la suivante prend sa place avec la même erreur. ça veut dire que toutes mes lignes ont une erreur de syntaxe.
Voyez-vous ce qui m'échappe?

Merci pour vos réponses.

Posté : 14 nov. 2007, 14:04
par zeus
Cette erreur (unexpected T_ECHO) signifie que PHP ne s'attend pas à trouver l'instruction "echo" car la ligne précédente ne se termine pas correctement.

Donc, plutôt que de supprimer la ligne 19, essaye de commenter la ligne 18.
Par contre, je ne comprend pas ce qui ne marche pas. Il y a le ; à la fin, les . entre les différentes sections de la ligne :-k

Posté : 14 nov. 2007, 14:19
par Invité
quand je commente la ligne 18, j'ai ceci:
Parse error: syntax error, unexpected T_ECHO in c:\program files\easyphp1-8\www\amofib\components\com_jobs\jobs.php on line 20
Je précise que j'ai créé ce code en faisant des recherche/remplacer dans dreamweaver. je me suis dit qu'il y avait peut - être des caractères invisibles qui gênaient.
Après un copier/coller dans le bloc notes, toujours le même résultat...

Confirmez-vous qu'il n'y a aucune erreur visible dans le code?

Posté : 14 nov. 2007, 15:00
par Invité
eh bien j'ai tout réécrit "à la main", et là çà fonctionne!
Voici le code :
foreach($rows as $row)
{

echo "<tr><td>" . $row->id . "</td></tr>";
echo "<tr><td>" . $row->intitule . "</td></tr>";
echo "<tr><td>" . $row->typeContrat . "</td></tr>";
echo "<tr><td>" . $row->typePoste . "</td></tr>";
echo "<tr><td>" . $row->statut . "</td></tr>";
echo "<tr><td>" . $row->secteurActi . "</td></tr>";
echo "<tr><td>" . $row->localisation . "</td></tr>";
echo "<tr><td>" . $row->dateDebut . "</td></tr>";
echo "<tr><td>" . $row->descriptif . "</td></tr>";
echo "<tr><td>" . $row->qualification . "</td></tr>";
echo "<tr><td>" . $row->salaire . "</td></tr>";
echo "<tr><td>" . $row->postuler . "</td></tr>";
echo "<tr><td>" . $row->nomSoc . "</td></tr>";
echo "<tr><td>" . $row->adrSoc . "</td></tr>";
echo "<tr><td>" . $row->villeSoc . "</td></tr>";
echo "<tr><td>" . $row->cpSoc . "</td></tr>";
echo "<tr><td>" . $row->siteSoc . "</td></tr>";
echo "<tr><td>" . $row->dateSoumiss . "</td></tr>";
echo "<tr><td>" . $row->published . "</td></tr>";

}
A moins que je me trompe, je ne vois aucune différence avec le code précédent...

Posté : 14 nov. 2007, 15:01
par Invité
à part biensûr le html qui a un peu changé, mais ça ne devrait pas être un pb.

Posté : 14 nov. 2007, 15:10
par zeus
le html a changé parce que, dans le code d'origine, tu as un <tr> au début et un </tr> à la fin alors que le code que tu as réécrit contient un <tr>...</tr> par ligne ;)