Problème d'affichage d'infos avec du PHP
Résolu
rubikspirit
-
rubikspirit -
rubikspirit -
Bonjour à tous,
Voila, je voudrais faire un site en PHP où j'ai des "news" dans une base de données. Le soucis c'est que je voudrais faire une page qui appelle les différents éléments concernant une news et les affiche sur la page suivant l'ID qu'il y a dans l'adresse de la page.
Par exemple :
http://localhost/site/news.php?id=1 permettra d'afficher sur ma page les infos de la News 1 (chose donc trouve fréquemment sur le net, je sais...)
J'ai donc mon script mais je bloque face à ceci :
En effet, si j'écris dans mon code 1 à la place de $id, tout fonctionne bien, mais en laissant $id, rien ne s'affiche.
Je ne comprends pas d'où ca vient car j'ai déja un script de ce genre qui fonctionne très bien mais là, ca coince et je vois pas pourquoi...
Merci de m'aider...
Voila, je voudrais faire un site en PHP où j'ai des "news" dans une base de données. Le soucis c'est que je voudrais faire une page qui appelle les différents éléments concernant une news et les affiche sur la page suivant l'ID qu'il y a dans l'adresse de la page.
Par exemple :
http://localhost/site/news.php?id=1 permettra d'afficher sur ma page les infos de la News 1 (chose donc trouve fréquemment sur le net, je sais...)
J'ai donc mon script mais je bloque face à ceci :
<?php $db = mysql_connect('localhost', 'root', ''); // on sélectionne la base mysql_select_db('phonerom_site',$db); // on crée la requête SQL $sql = 'SELECT * FROM news where ID_news="$id"'; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_assoc($req)) { // on affiche les informations de l'enregistrement en cours echo '<div class="date">'.$data['date'].'</div>'; echo '<div class="subject">'.$data['titre'].'</div>'; echo '<div class="text">'.$data['resume'].'</div>'; echo '<a href="news.php?id='.$data['ID_news'].'"><div class="next">Lire la suite...</div></a>'; } // on ferme la connexion à mysql mysql_close(); ?>
En effet, si j'écris dans mon code 1 à la place de $id, tout fonctionne bien, mais en laissant $id, rien ne s'affiche.
Je ne comprends pas d'où ca vient car j'ai déja un script de ce genre qui fonctionne très bien mais là, ca coince et je vois pas pourquoi...
Merci de m'aider...
A voir également:
- Problème d'affichage d'infos avec du PHP
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Thunderbird problème affichage message - Forum Thunderbird
4 réponses
Bonjour.
Voir dans la doc PHP (ICI, par exemple)
Il y a un problème avec les quotes.
Quand tu mets une chaîne entre quotes simples, ce qui est dedans n'est pas interprété.
Tu peux vérifier en faiant un echo $sql qui devrait t'afficher :
Solutions :
- Concaténer les chaînes :
- Utiliser des quotes doubles :
// on crée la requête SQL $sql = 'SELECT * FROM news where ID_news="$id"';
Voir dans la doc PHP (ICI, par exemple)
Il y a un problème avec les quotes.
Quand tu mets une chaîne entre quotes simples, ce qui est dedans n'est pas interprété.
Tu peux vérifier en faiant un echo $sql qui devrait t'afficher :
SELECT * FROM news where ID_news="$id"
Solutions :
- Concaténer les chaînes :
$sql = 'SELECT * FROM news where ID_news="'.$id.'"';
- Utiliser des quotes doubles :
$sql = "SELECT * FROM news where ID_news=$id";(je suppose que dans ta base, ID_news est un nombre ?)