Affichage par page.php?id=XX

Eléphant du PHP | 65 Messages

08 avr. 2006, 19:25

Bonjour à tous!!

Voilà je creer mon script de news pour mon site et j'aimerais que mes news s'affiche de cette manière:

http://monsite.com/news.php?id=XX

XX étant le numéro ID de la news voilà ce que j'ai déjà fait mais qui ne marche pas! :(
<?PHP

if(!isset($_GET['id'])) {
echo'<tr><td align="center" valign="center">Cette news n\'existe pas !</td></tr>';
        }
        else {
$id = intval($_GET['id']);

$retour = mysql_query('SELECT * FROM news WHERE id=' .$id. '');
while ($donnees = mysql_fetch_array($retour))
{
?> 
Bien sur le reste de la page sont des echo pour afficher les données de MYsql.
Modifié en dernier par flotix le 08 avr. 2006, 22:03, modifié 3 fois.

Eléphant du PHP | 419 Messages

08 avr. 2006, 19:49

slt !
Essaye :
<?PHP

if(!isset($_GET['id'])) 
{
echo "<tr><td align=\"center\" valign=\"center\">Cette news n\'existe pas !</td></tr>";
}
else 
{
$id = $_GET['id'];

$retour = mysql_query('SELECT * FROM news WHERE id=' .$id. '');
while ($donnees = mysql_fetch_array($retour))
{
?>
Mais je t'aurai conseillé :
<?PHP

if(isset($_GET['id'])) 
{
$id = $_GET['id'];

$retour = mysql_query('SELECT * FROM news WHERE id=' .$id. '');
while ($donnees = mysql_fetch_array($retour))
{

TOUT TON CODE

}


else 
{
echo "<tr><td align=\"center\" valign=\"center\">Cette news n\'existe pas !</td></tr>";
}
?>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

08 avr. 2006, 20:12

Salut,
voilà ce que j'ai déjà fait mais qui ne marche pas! :(
qu'est ce qui ne marche pas ?

Affiche le contenu des variables et la requete générée et un message d'erreur au cas où pour aider à débugger:
$sql = 'SELECT * FROM news WHERE id=' .$id;

$retour = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

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

Eléphant du PHP | 65 Messages

08 avr. 2006, 21:33

Euuuu ben voilà j'ai mis le code de débugge au cas ou pour l'instant apperement sa n'est pas un probleme mysql je vous laisse regarder. :x

http://jeuxvideo-fr.net/newsing/newsing.php?id=2

Le code :
<?PHP

if(!isset($_GET['id']))
{
echo "<tr><td align=\"center\" valign=\"center\">Cette news n\'existe pas !</td></tr>";
}
else
{
$id = $_GET['id'];

$sql = 'SELECT * FROM news WHERE id=' .$id;

$retour = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($donnees = mysql_fetch_array($retour))
{
?>
<table width="736" height="395" border="0">
  <tr>
    <td width="426" height="43"><?php echo $donnees['titre']; ?></td>
    <td width="300">&nbsp;</td>
  </tr>
  <tr>
    <td>Le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><?php
    // On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
    $contenu = nl2br(stripslashes($donnees['contenu']));
    echo $contenu;
    ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<a href="commentaires.php?idnews=<?php echo $donnees['id']; ?>&titrenews=<?php echo stripslashes($donnees['titre']); ?>&page=1">
<?php
$infos_com = mysql_query('SELECT COUNT(*) AS nb_com FROM commentaires WHERE idnews=' . $donnees['id']);
$donnees_com = mysql_fetch_array($infos_com);
$totalDesCommentaires = $donnees_com['nb_com'];
echo $totalDesCommentaires;
?> commentaire(s)  </a>
<?php
} 

?>

Mammouth du PHP | 19672 Messages

08 avr. 2006, 21:38

L'accolade de la boucle while est bien fermée, mais celle du else juste avant ne l'est pas.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 65 Messages

08 avr. 2006, 21:42

Hum j'était déjà parvenu à ce résultat mais je ne voit pas se que c'est!! :s

http://jeuxvideo-fr.net/newsing/newsing.php?id=2

Eléphant du PHP | 419 Messages

08 avr. 2006, 21:46

je ne sais pas tu ne dois pas etre connecter a la base !

Eléphant du PHP | 65 Messages

08 avr. 2006, 21:59

Oula oui effectivement rolala on peut le dire là!! La faute du débutant!! x)
Je fait sa et je vous dit se qu'il en es!! :)

Eléphant du PHP | 65 Messages

08 avr. 2006, 22:01

Ok c'est niquel merci pour tout!! :)
Je penserais à vous dans les remerciements. ;)