Danzeel
Messages postés4Date d'inscriptionmercredi 18 mars 2009StatutMembreDernière intervention12 avril 2009
-
29 mars 2009 à 16:56
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
30 mars 2009 à 20:39
Voila j'essaye de créer un système de news avec commentaires mais j'ai quelques soucis avec mon id. En effet mysql me rapporte cette erreur Column 'id' in where clause is ambiguous et je ne sais pas comment coriger mon erreur si quelqu'un eut m'aider voici mes codes
page news-commentaire.php:
<head><title>Nouveau Commentaire</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><style type="text/css"><![CDATA[
body
{
text-align:center;
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
if (isset($_POST['pseudo']) AND isset($_POST['commentaire']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$commentaire = mysql_real_escape_string(htmlspecialchars($_POST['commentaire'])); // De même pour le message
$commentaire = nl2br($commentaire); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des
// On peut enfin enregistrer
mysql_query("INSERT INTO news_comment VALUES('', '', '', '','" . $pseudo . "', '" . $commentaire . "')");
}
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 15; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM news_comment');
$donnees <gras>mysql_fetch_array($retour);$totalDesMessages $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '[news_commentaire.php?page=' . $i . ' ' . $i . '] ';
}
?>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (news_commentaire.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$id_comment = (int) $_GET['id'];
$data mysql_query('SELECT * FROM news LEFT JOIN news_comment ON news.id news_comment.id_news WHERE id = "'.$id_comment.'"') or die (mysql_error());
$reponse = mysql_query('SELECT * FROM news_comment ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage. ' ');
while ($donnees = mysql_fetch_array($reponse))
{
echo '' . $donnees['pseudo'] . ' a écrit :
' . $donnees['commentaire'] . '';
}
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL
?>