Problème !!!!

Skinsnapper
Invité n'ayant pas de compte PHPfrance

19 mars 2006, 23:21

Bonjour ! J'ai un problème avec un script sur mon site et sa me dit l'erreur suivante: Parse error: parse error, unexpected T_STRING, expecting ',' or ';'

Voici mon script et la phrase en gras c'est la 28eme ligne puisqu'il y a un bout de script avant mais que je ne préfère pas afficher.
<?
// lancement de la requête (on impose aucune condition puisque l'on désire obtenir la liste complète des propriétaires
$sql = 'SELECT * FROM news ORDER BY date DESC LIMIT 0 , 6';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$x = 0;
while ($data = mysql_fetch_array($req)) {
$y = $x++;
if ($y = 1 || $y = 3 || $y = 5) {

// On teste pour voir si nos variables ont bien été enregistrées
echo'<table cellpadding="0" cellspacing="0" width="408">';
echo'<tr>';
echo'<td width="408" bgcolor="#A9DC53">';
echo'<p>'.$data['date'].';
echo'<a href="./lire_sujet.php?lire_news=' , $data['id'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a></p>';
echo'</td>';
echo'</tr>';
echo'</table>';
}
else {
echo'<table cellpadding="0" cellspacing="0" width="408">';
echo'<tr>';
echo'<td width="408" bgcolor="#82AB43">';
echo'<p>'.$data['date'].';
echo'<a href="./lire_sujet.php?lire_news=' , $data['id'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a></p>';
echo'</td>';
echo'</tr>';
echo'</table>';
}

}
mysql_free_result ($req);
mysql_close ();
?>
</body>
</html>
Pouvez-vous me guider pour savoir ou est mon erreur ?

Merci

Mammouth du PHP | 1511 Messages

19 mars 2006, 23:24

Quand tu encadres tes stripslashes et tes variables tu as mis des virgules a la place des points...
@+

Skinsnapper
Invité n'ayant pas de compte PHPfrance

19 mars 2006, 23:33

Bonjour et merci de m'avoir répondu ! Je vient de tester et pourtant sa ne marche pa splus avec des points au lieu des virgules :cry:

Mammouth du PHP | 1511 Messages

19 mars 2006, 23:43

Attention avec les variables...
Qu'utilises tu pour coder?
Car a mon avis un colorateur syntatique te serait bien précieux...
<?php
// lancement de la requête (on impose aucune condition puisque l'on désire obtenir la liste complète des propriétaires
$sql = 'SELECT * FROM news ORDER BY date DESC LIMIT 0 , 6';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$x = 0;
while ($data = mysql_fetch_array($req))
{
	$y = $x++;
	if ($y = 1 || $y = 3 || $y = 5)
	{
	// On teste pour voir si nos variables ont bien été enregistrées
		echo '<table cellpadding="0" cellspacing="0" width="408">';
		echo '<tr>';
		echo '<td width="408" bgcolor="#A9DC53">';
		echo '<p>'.$data['date'];
		echo '<a href="./lire_sujet.php?lire_news=' . $data['id'] . '">' . stripslashes(htmlentities(trim($data['titre']))) . '</a></p>';
		echo '</td>';
		echo '</tr>';
		echo '</table>';
	}
	else
	{
		echo '<table cellpadding="0" cellspacing="0" width="408">';
		echo '<tr>';
		echo '<td width="408" bgcolor="#82AB43">';
		echo '<p>'.$data['date'];
		echo '<a href="./lire_sujet.php?lire_news=' . $data['id'] . '">' . stripslashes(htmlentities(trim($data['titre']))) . '</a></p>';
		echo'</td>';
		echo'</tr>';
		echo'</table>';
	}
}
mysql_free_result ($req);
mysql_close ();
?>
</body>
</html>
Ca devrait fontionner maintenant je pense...
@+

Skinsnapper
Invité n'ayant pas de compte PHPfrance

19 mars 2006, 23:52

Ah oui effectivement sa marche :) Merci bcp :) !!!

J'aurait une autre petite question, voici mon site:
http://www.lesconstructionsrey.com/site/index.php

Nous voyons que les news s'affichent maintenant et bien elle sont chacun dans un tableau différent, pourrait tu me dire comment je pourrait faire que dans ma boucle, il affiche une news avec un couleur de fond de le céllule différente et une autre news d'une autre coleur différente et ensuite il refait de même ?

Merci pour ton aide :)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

19 mars 2006, 23:55

Quand tu encadres tes stripslashes et tes variables tu as mis des virgules a la place des points...
:!:
Les virgules permettent d'afficher des chaînes juxtaposées les unes à la suite des autres ;
Les points les concatènent dans une variable et affiche le résultat de celle-ci.

Skinsnapper
Invité n'ayant pas de compte PHPfrance

20 mars 2006, 00:02

Ah oui effectivement sa marche :) Merci bcp :) !!!

J'aurait une autre petite question, voici mon site:
http://www.lesconstructionsrey.com/site/index.php

Nous voyons que les news s'affichent maintenant et bien elle sont chacun dans un tableau différent, pourrait tu me dire comment je pourrait faire que dans ma boucle, il affiche une news avec un couleur de fond de le céllule différente et une autre news d'une autre coleur différente et ensuite il refait de même ?

Merci pour ton aide :)
Avez-vous un petit coup de main à me filler pour cette question ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 mars 2006, 00:03

Quand tu encadres tes stripslashes et tes variables tu as mis des virgules a la place des points...
@+
Les 2 sont possibles même si la concaténation avec la virgule est peu utilisée.

EDIT: Wahou, je dois apprendre à poser mon café quand je réponds :lol:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 mars 2006, 00:13

Euh sur le lien que tu donnes les cellules sont déjà de différentes couleurs :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Skinsnapper
Invité n'ayant pas de compte PHPfrance

20 mars 2006, 00:17

Oui mais c'est seulement dans un boucle mais comme on peut voir, les 2 news se répète deux fois une après l'autre :( . J'aimerais bien que que les news soit différente pour chaque couleur. Sur le site en se moment c'est une boucle qui se répète deux fis alors ya les deux couleur mais la news est répèter deux fois :\ .

Skinsnapper
Invité n'ayant pas de compte PHPfrance

20 mars 2006, 00:53

avez-vous une petite idée ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 mars 2006, 01:20

normalement pour ce genre de chose on utilise un "modulo".
Pour ton cas le test n'est pas bon il manque des =
if ($y == 1 || $y == 3 || $y == 5) 

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute