Parse error

SmoKeyz Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
ReDLoG Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis entrain de créer une petit appli web pour gérer les stock du magsin de ma boite, et je bute sur une erreur, je ne suis pas un super programmeur juste, je le fait par plaisire, donc voici l'erreur : Parse error: syntax error, unexpected T_STRING in C:\wamp\www\GSmag\index.php on line 22

et voici la partie de mon code vers la ligne 22 :

<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=bdd_stock', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$sortieDR = $bdd->query('SELECT * FROM aechys WHERE magasin='DR' ORDER BY date DESC LIMIT 0,9');

while($sortieDR = $asdr->fetch())
{
<table>
<tr>
<th>Date</th>
<th>Ref</th>
<th>Désignation</th>
<th>Qte</th>
</tr>

<tr>
<th>$asdr['date']</th>
<th>$asdr['ref']</th>
<th>$asdr['designation']</th>
<th>$asdr['qte']</th>
</tr>
</table>

}
$reponse->closeCursor();

Merci d'avance,
Cordialement.


3 réponses

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Tu ne peux pas mettre directement du code HTML comme ça au milieu du PHP.
Le PHP pas traiter sont code et gérer une page HTML.

Tu peux le mettre comme ça:

<?php
echo'<p>Code HTML</p>';
?>

echo permet d'afficher du code HTML.
http://www.php.net/manual/fr/function.echo.php
1
ReDLoG Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   57
 
Bonsoir,
Pour afficher les données, utiliser une instruction echo dans la boucle while
Cordialement.
0
SmoKeyz Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Ok merci, je n'ai plus d'erreurs, mais maintenant j'ai juste une page blanche, pourquoi le code n'affiche t'il rien, pas même le menu ? :/

Le voici après modifications :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Géstionnaire de Stock BETA v0.1</title>
<style href="style.css"/>
</head>
<body>
<?php
$r_page = index;
?>
<?php include ("inc/menu.php");?>
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=bdd_stock', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$sortieDR = $bdd->query('SELECT * FROM aechys WHERE magasin=\'DR\' ORDER BY date DESC LIMIT 0,9');

while($sortieDR = $asdr->fetch())
{
echo
'<p>
<table>
<tr>
<th>Date</th>
<th>Ref</th>
<th>Désignation</th>
<th>Qte</th>
</tr>

<tr>
<th>$asdr[\'date\'];</th>
<th>$asdr[\'ref\'];</th>
<th>$asdr[\'designation\'];</th>
<th>$asdr[\'qte\'];</th>
</tr>
</table>
</p>';
}
$reponse->closeCursor();
?>
...
0
ReDLoG Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   57
 
Bonsoir,

Tu as plusieurs erreurs dans ton script.
1ère erreur de syntaxe :
<?php
$r_page = index; // manque les quotes pour indiquer une chaîne
$r_page = "index";
?>

2ème erreur d'inversion :
while($sortieDR = $asdr->fetch())
/* Inversion de variable, la requête est $sortieDR ce qui doit s'énoncer ainsi */
while($asdr = $sortieDR->fetch())

3ème erreur de syntaxe dans l'instruction echo :
/* Code corrigé */
echo "<p>
		<table>
			<tr>
				<th>Date</th>
				<th>Ref</th>
				<th>Désignation</th>
				<th>Qte</th>
			</tr>
                        <tr>
		<th>".$asdr['date']."</th>
		<th>".$asdr['ref']."</th>
		<th>".$asdr['designation']."</th>
		<th>".$asdr['qte']."</th>
	</tr>
</table>
</p>";

4ème erreur (minime mais quand même) :
/*
Sortir l'entête du tableau HTML de la boucle while sinon ça va 
se répéter autant de fois qu'il y a d'enregistrements à afficher
*/
echo "<p>
     <table>
	<tr>
		<th>Date</th>
		<th>Ref</th>
		<th>Désignation</th>
		<th>Qte</th>
	</tr>";
while($asdr = $sortieDR->fetch()) {
echo "<tr>
		<td>".$asdr['date']."</td>
		<td>".$asdr['ref']."</td>
		<td>".$asdr['designation']."</td>
		<td>".$asdr['qte']."</td>
	</tr>";
}
echo "</table>
     </p>";

Dernier conseil du point de vue syntaxique HTML, il n'est pas nécessaire d'englober ton tableau dans un paragraphe :-)
Cordialement.
0