Tres faible en SQL

Fermé
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 - Modifié par glodybiss le 18/11/2011 à 15:29
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 - 21 nov. 2011 à 10:44
Bonjour,

Je ne suis pas vraiment mur avec les requêtes SQL et même en php
Ici j'ai afficher toutes les entrées qui ont l'idée parent 1 (id_parent)
aucune erreur apparaître seulement seuls les puces sans textes
je ne comprends rien si quelqu'un peut m'aider.

Merci d'avance

<?php  
// information pour la connection à le DB 
$host = 'localhost'; 
$user = 'root'; 
$pass = ''; 
$db = 'cybernetdata';  
// connection à la DB 
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); 
mysql_select_db($db) or die ('Erreur :'.mysql_error());  

$query = "SELECT * FROM articles WHERE id_parent=1";   
 $result = mysql_query($query);  
   $n1=mysql_num_rows($result); 
echo '<ul class="menu">'; 
while ($row = mysql_fetch_array($result)) {    
   $sql = "SELECT * FROM articles WHERE id_parent =".$row['id']."";   
   echo($result)? '<li>':'<li  class="last">'; 
    echo '</li>'; 
} 
echo '</ul>';   
?>    


Voici ma table
CREATE TABLE IF NOT EXISTS 'articles' ( 
  'id' int(11) NOT NULL AUTO_INCREMENT, 
  'id_parent' int(11) NOT NULL, 
  'accessoires' varchar(200) NOT NULL, 
  'demandeur' varchar(200) NOT NULL, 
  'messages' varchar(256) NOT NULL, 
  PRIMARY KEY ('id') 
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ; 




4 réponses

maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
18 nov. 2011 à 16:22
while ($row = mysql_fetch_array($result)) {    
   $sql = "SELECT * FROM articles WHERE id_parent =".$row['id']."";   
   echo($result)? '<li>':'<li  class="last">'; 
    echo '</li>'; 
} 


1 - tu as une requete au milieu qui n'est pas executée, elle ne sert a rien

2 - echo($result)? '<li>':'<li class="last">
ici tu dis : si $result vaut quelque chose, alors écris <li> sinon écris <li class="last">'
puis te refermes le li

il n'y a donc rien d'afficher (mise à part les puces ....)

donc pour afficher quelque chose, il faudrait déjà quelque chose du genre
 echo  '<li>'.$row['id'].'</li>';

j'ai mis dans l'exemple $row['id'] mais je suppose que ce que tu veux écrire, c'est le nom de l'article
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
18 nov. 2011 à 16:59
Je te signale une dès que c'est bon, merci beaucoup
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
21 nov. 2011 à 08:39
ça y est ! ça fonctionne merci Maka54.
0
glodybiss Messages postés 440 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 29 juillet 2015 9
21 nov. 2011 à 10:44
J'ai un autre problème si tu peux encore m'aider s'il te plait.

https://forums.commentcamarche.net/forum/affich-23708144-erreur-sql-a-l-insersion#p23708144
0