erreur de syntaxe?

Invité
Invité n'ayant pas de compte PHPfrance

14 nov. 2007, 13:57

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 nov. 2007, 14:04

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

14 nov. 2007, 14:19

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?

Invité
Invité n'ayant pas de compte PHPfrance

14 nov. 2007, 15:00

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...

Invité
Invité n'ayant pas de compte PHPfrance

14 nov. 2007, 15:01

à part biensûr le html qui a un peu changé, mais ça ne devrait pas être un pb.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 nov. 2007, 15:10

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 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer