Problème affichage en php

hadche Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je dois réaliser un petit programme pour mon exam qui doit gérer un système de news avec leurs commentaires en php. Le prof nous a donné la page principale mais j'ai un problème. Il nous demande en premier lieu d'afficher les 5 dernières news postés et en dessous un lien qui permet d'afficher toutes les news. Quand je clique sur le lien "toutes les news" il me laisse la page des "dernières news".

Un autre problème est que qaudn je clique pour voir le commentaire qui va avec la news, rien ne s'affiche la page reste tel quelle!!!!!

Voilà mon code de la page principale:

<html>
<head>
<title>News et comments</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body >
<?php
//connection à la base
$connect = mysql_connect("localhost", "root", "");
mysql_select_db("news_db", $connect);

//nombre de news par page
$max_items = 5;

//afficher les news
function displayNews(){
print "<h3>Les dernières News</h3>";
//récup des variables globales
global $max_items, $connect;

$rsnews = mysql_query("SELECT id, title, newstext, DATE_FORMAT(postdate, '%Posté le %d-%m-%Y %H:%i:%s') as date FROM news ORDER BY postdate DESC LIMIT $max_items", $connect);

while ($res = mysql_fetch_array($rsnews))
{
print "<div class=\"titre\"><span class=\"left\">";
print $res['title'];
print "</span><span class=\"right\">";
print $res['date'];
print "</span></div>";

echo '<div class="newstext">' . $res["newstext"] . '</div>';
$id=$res["id"];
$rscomment = mysql_query("SELECT id FROM news_comments WHERE news_id=$id", $connect);
$nb = mysql_num_rows($rscomment);
echo '<a href="news.php?action=show&id=' . $res["id"] . '" class="comment">Commentaires [' . $nb . ']</a><br /><br />' ;
}
echo '<br /><a href="news.php?action=all">Afficher toutes les news</a>' ;
}

//afficher les news
function displayAllNews(){
print "<h3>Toutes les News</h3>";
//récup des variables globales
global $connect;

$rsnews = mysql_query("SELECT id, title, newstext, DATE_FORMAT(postdate, '%Posté le %d-%m-%Y %H:%i:%s') as date FROM news ORDER BY postdate DESC", $connect);

while ($res = mysql_fetch_array($rsnews))
{

print "<div class=\"titre\"><span class=\"left\">";
print $res['title'];
print "</span><span class=\"right\">";
print $res['date'];
print "</span></div>";

echo '<div class="newstext">' . $res["newstext"] . '</div></div>';
$id=$res["id"];
$rscomment = mysql_query("SELECT id FROM news_comments WHERE news_id=$id", $connect);
$nb = mysql_num_rows($rscomment);
echo '<a href="news.php?action=show&id=' . $res["id"] . '" class="comment">Commentaires [' . $nb . ']</a><br /><br />' ;
}
echo '<br /><a href="news.php?action=\"\"">Revenir aux dernières news</a>';
}

function displayOneItem($id){
print "<h3>Les Commentaires</h3>";
global $connect ;
$rsnews = mysql_query("SELECT id, title, newstext, DATE_FORMAT(postdate, '%a %d-%m-%Y %H:%i:%s') as date FROM news WHERE id=$id", $connect);
$res = mysql_fetch_array($rsnews);
print "<div class=\"titre\"><span class=\"left\">";
print $res['title'];
print "</span><span class=\"right\">";
print $res['date'];
print "</span></div>";

echo '<div class="newstext">' . $res["newstext"] . '</div></div><br /> ';

$rscomment = mysql_query("SELECT id, news_id, name, comment FROM news_comments WHERE news_id=$id", $connect);
while ($res2 = mysql_fetch_array($rscomment))
{
echo '<div class="comment">Nom: ' . $res2["name"] . '</div>';
echo '<div class="comment">Commentaire: ' . $res2["comment"] . '</div><br />';
}
echo '<form method="post" action="news.php?action=addComment&id=' . $id . '" name="commentaire">';
echo '<input type="text" name="nom" id="nom" /><br />';
echo '<textarea rows="5" name="comment" id="comment"></textarea><br />';
echo '<input type="submit" name="submit" id="submit" value="Ajouter le commentaire" />';
echo '</form>';

echo '<br /><a href="news.php?action=\'\'">Revenir aux dernières news</a>';
}
function addComment($id){

global $connect;

$nom = $_POST['nom'];
$comment = $_POST['comment'];

mysql_query("INSERT INTO news_comments VALUES('','$id','$nom','$comment')", $connect);

echo '<a href="news.php?action=show&id=' . $id . '">Vérif</a>';
}
if (!isset($HTTP_GET_VARS['action'])) {
$HTTP_GET_VARS['action'] = '';
}
switch ($HTTP_GET_VARS['action']){

case 'show' : displayOneItem($HTTP_GET_VARS['id']);
break ;
case 'addComment' : addComment($HTTP_GET_VARS['id']);
break ;
case 'all' : displayAllNews();
break ;
default : displayNews();

}

?>

</body>
</html>


A voir également:

3 réponses

hadche Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
personne n'a de réponses?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
remplace les $HTTP_GET_VARS par $_GET mais la n'est pas le problème

il faut voir si tes liens ont bien

...........?action=all
...........?action=show
...........?action=addComment
0
hadche Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
et je vois ou si mes liens ont bien ça?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
dans le code de la page qui les contient, pour appeler ce script et afficher les news tu cliques bien sur des liens non ?
0