8792 sujets

Développement web côté serveur, CMS

Bonjour,

Sur une page de mon site, je voudrais afficher des news. A droite, avoir la liste des news qui sont enregistrées dans ma base de données et à gauche, la news sur laquelle le visiteur a cliqué (à droite).

Voici mon code :

<div id="news_xl">
<?
 		include('intra/connectdb.php');
		$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
		mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
		$reqmsg3 = mysql_query("SELECT * from news WHERE id=$id") or die ("erreur requete");
		while($origina = mysql_fetch_array ($reqmsg3))
		{
		$id = $origina["id"];
		$titre = $origina["titre"];
		$article = $origina["article"];
		$date = $origina["date"];
		$lien = $origina["lien"];
		echo "<div class=\"photo_news\"><img src=\"img/news/$lien\" class=\"news\" alt=\"information du Castel\" /></div><div class=\"titre_news\">$titre</div><div class=\"article_news\">$article<br /><br /></div><div class=\"date_news\">$date</div><br />";
		}
		mysql_close();
?>
</div>
<div id="news_list">
Archives<br /><br />
<?
		include('intra/connectdb.php');
		$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");
		mysql_select_db($mysql_base,$db) or die ("erreur de connexion base");
		$reqmsg3 = mysql_query("SELECT * from news ORDER by date Desc limit 15") or die ("erreur requete");
		while($origina = mysql_fetch_array ($reqmsg3))
		{
		$id = $origina["id"];
		$titre = $origina["titre"];
		$article = $origina["article"];
		$date = $origina["date"];
		$lien = $origina["lien"];
		echo "
		<a href=\"http://inwebwetrust.info/index.php?page=news_xl&id='$id'\">$titre&nbsp;&nbsp;&nbsp;$date</a><br />";
		}
		mysql_close();
?>
</div>


Hors quand je clique sur le titre de la news à droite, c'est toujours la même news qui s'affiche.

Pour vous rendre compte, voici le lien vers le site :
http://inwebwetrust.info/index.php?page=news_xl&id='19'

D'avance merci pour votre aide... Smiley biggrin
Modifié par levince (11 Jul 2006 - 11:14)
Bonjour !!

Il semble que ce soit une erreur due au fait que tu ne récupères pas l'id de la news que tu veux afficher.

Alors à la place de ça :
$reqmsg3 = mysql_query("SELECT * from news WHERE id=$id")


Essai plutôt ça :
$reqmsg3 = mysql_query("SELECT * from news WHERE id=$_GET['id']")


[EDIT]
Dans ta div news_list tu as un lien de ce type :
echo"<a href=\"http://inwebwetrust.info/index.php?page=news_xl&id='$id'\">$titre&nbsp;&nbsp;&nbsp;$date</a><br/>";


Remplace le plutôt par ça :
echo"<a href=\"http://inwebwetrust.info/index.php?page=news_xl&id=".$id."\">$titre&nbsp;&nbsp;&nbsp;$date</a><br/>";


ça évitera d'avoir une url du style :
http://inwebwetrust.info/index.php?page=news_xl&id='15'
avec les pas belles quotes qui encadrent l'identifiant de ta news !!
Modifié par raph (11 Jul 2006 - 11:36)
J'ai fais les modifications mais maintenant, j'ai un message d'erreur.
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/31/d148659668/htdocs/content/news_xl.php on line 6

Voici le contenu de ma ligne 6 :
$reqmsg3 = mysql_query("SELECT * from news WHERE id=$_GET['id']") or die ("erreur requete");

J'ai bien essayé de modifier la syntaxe de la ligne mais rien n'y fait.