afficher les titres des messages

afficher les titres des messages - PHP - Programmation

Marsh Posté le 25-05-2005 à 00:08:52    

Bonsoir ou bonjour, :D
 
voila je suis en train de programmer un forum et j ai quelque souci.
les donnees sont dans des tables mysql.
 
Mon probleme est que je n arrive pas a afficher le titre des messages sur la page principale du forum
 
voila mon code qui marche pas :fou:
 
<td class="droite" width="75%" valign="top">
    <?
     // on inclus le formulaire pour les nouveaux sujets
     include('Nouveau sujet.php');
     
     //on inclus la page de lecture
     include('Lecture.php');
     
     // on se connecte à notre base de données
     $host = 'localhost';
     $user = 'root';
     $password = '';
     $database = 'forum';
     
     $db = mysql_connect($host,$user,$password) or die ("erreur de connexion" );
     
     //sélection de votre base de donnée
     mysql_select_db($database,$db) or die ("erreur de connexion base" );
     
     //la requête de sélection des messages
     
     $list = mysql_query("SELECT * FROM message Order by date" )
     or die ("Requête Mysql invalide" );
     
     $result=@mysql_query($rq);
     
     if($result)
      {
    ?>
       <table align='center' cellspacing='2' cellpadding='2'>
       <tr>
        <td align='center'><b>Sujet</b><br></td>
       </tr>
    <?
       //on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array
       while($ligne=mysql_fetch_array($result, MYSQL_NUM))
       {
    ?>
        <tr>
         <td>
    <?
           echo($ligne[0]);
    ?>
         </td>
        </tr>
    <?
       }
      }
     
 
 
 
     
     //on referme la connexion
     mysql_close();
    ?>
     </table>
 
   </td>
 
  </tr>
  </table>
 
 
 
 
la table message comporte dans l odre les champ suivant
   id     //id du message en auto_increment
   date
   titre
   commentaire
   idu    //id de l user qui a poster le message
   idp    //id du message parent
 
 
 
Merci d avance
 
Gen_Patton

Reply

Marsh Posté le 25-05-2005 à 00:08:52   

Reply

Marsh Posté le 25-05-2005 à 07:59:18    

Y'a surtout ça qui est chelou :

 $list = mysql_query("SELECT * FROM message Order by date" )
     or die ("Requête Mysql invalide" );
     
     $result=@mysql_query($rq);


C'est quoi le $rq ? Pour quoi mettre l'arobase devant, et pas faire comme au-dessus, à savoir un message d'erreur en cas de problème ?

Reply

Marsh Posté le 25-05-2005 à 10:19:48    

bonjour,
 
j ai bien pris notes des remarques et j ai modifier mon code mais ca cahnge rien (il affiche juste "sujet" )
Voila mon code modifier :
 
 
//sélection de votre base de donnée
     mysql_select_db($database,$db) or die ("erreur de connexion base" );
     
     //la requête de sélection des messages
     
     $rq = "SELECT (titre) FROM message Order by date"
     or die ("Requête Mysql invalide" );
     
     $result=mysql_query($rq)
     or die ("Requête result Mysql invalide" );
     
     if($result)
      {
    ?>
       <table align='center' cellspacing='2' cellpadding='2'>
       <tr>
        <td align='center'><b>Sujet</b><br></td>
       </tr>
    <?
       //on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array
       while($ligne=mysql_fetch_array($result))
       {
    ?>
        <tr>
         <td>
    <?
           echo($ligne[titre]);
    ?>
         </td>
        </tr>
    <?
       }
      }
     
 
 
 
     
     //on referme la connexion
     mysql_close();

Reply

Marsh Posté le 25-05-2005 à 10:23:00    

Gen_Patton a écrit :

bonjour,
 
j ai bien pris notes des remarques et j ai modifier mon code mais ca cahnge rien (il affiche juste "sujet" )
Voila mon code modifier :
 
 
//sélection de votre base de donnée
     mysql_select_db($database,$db) or die ("erreur de connexion base" );
     
     //la requête de sélection des messages
     
     $rq = "SELECT (titre) FROM message Order by date"
     or die ("Requête Mysql invalide" );
     
     $result=mysql_query($rq)
     or die ("Requête result Mysql invalide" );
     
     if($result)
      {
    ?>
       <table align='center' cellspacing='2' cellpadding='2'>
       <tr>
        <td align='center'><b>Sujet</b><br></td>
       </tr>
    <?
       //on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array
       while($ligne=mysql_fetch_array($result))
       {
    ?>
        <tr>
         <td>
    <?
           echo($ligne[titre]);
    ?>
         </td>
        </tr>
    <?
       }
      }
     
 
 
 
     
     //on referme la connexion
     mysql_close();


Alors, plusieurs choses :
D'abord, ces deux lignes :

$rq = "SELECT (titre) FROM message Order by date"
or die ("Requête Mysql invalide" );


Ca sert un peu à rien le 'or die', vu que tu affecte juste la chaine de caractère "SELECT...." dans $rq ;)
 
Aussi :

echo($ligne[titre]);


Toi tu veux afficher l'élément du tableau avec pour indice le nom du champs. Dans ce cas, les indice sont sous forme de chaîne de caractère. Or, toi tu lui donne une constante titre, ce qu'il ne va pas comprendre. Il faut réécrire en ça :

echo $ligne['titre'];


Reply

Marsh Posté le 25-05-2005 à 10:24:07    

Ah oui aussi :

 $result=mysql_query($rq)
     or die ("Requête result Mysql invalide" );
     
     if($result)


Le if ne sert à rien : si y'a rien dans $result, il va exécuter le die, donc ne jamais arriver au if($result), donc tu peux le dégager :)s

Reply

Marsh Posté le 25-05-2005 à 16:12:41    

Okay merci ca marche je me suis aider d un bouquin aussi en fait le probleme principal c est que mon fichier etait un *.htm alors j ai mis *.php et ca marche.

Reply

Marsh Posté le 25-05-2005 à 16:14:49    

A l'avenir, n'oublie plus cela car l'extension est importante :D


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed