Svp un peu d'aide en php et sql

Résolu
Bonjour,
Bonjour,

alors voila je m'explique etant nul en php je vais vous expliquer au mieu ce que je souhaiterai faire

je recoit les données de ma tabre

// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "sdz", "mot_de_passe");
mysql_select_db("coursphp");
 
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM touslescours ORDER Nom");
 
// On se déconnecte de MySQL
mysql_close();
 
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>


Et moi j'ai deux trucs que je sais pas faire

-1 je voudrais afficher mes resultats dans un tableau
ou les colones sont (nom du cours/ taille du pdf/ lien du doc)
et donc chque cours serait sur une ligne

-2 plus compliqué encore (lol comme si j'avai besoin de ca)
j'ai plus de 1000 cours alors je voudrais les afficher sur plusieurs pages 50 par page toujours triés par nom.

Je vous remerci de m'aider je suis en totale galere je suis un peu debrouillard mais la je suis perdu
Bonne journée a vous et merci encore

--
HeavenG La vie ne vaut rien mais rien de vaut la vie
Configuration: Windows Vista
Firefox 3.0.7

26 réponses

Résumé de la discussion

Un utilisateur cherche à récupérer 10 entrées d'une table MySQL et à les afficher dans un tableau HTML, avec nom du cours, taille du PDF et lien, puis paginer 50 par page triés par nom. Plusieurs échanges portent sur l'affichage des résultats en lignes HTML via PHP, corrections des noms de variables et des index de tableau, et l'intégration des liens et des images. Des exemples montrent comment construire les lignes du tableau avec des chaînes concaténées et echo, et insistent sur l'usage correct des champs (nom_sc, lien, photo) et l'activation des erreurs. En pratique, la discussion évoque aussi l'isolation du CSS pour le tableau et les ajustements nécessaires lorsque le style extérieur interfère avec des éléments externes.

Bobot (l’IA à votre service)
  1. Pour mettre le résultat de la requête sous forme de tableau :

    ...
    $reponse = mysql_query('SELECT nomchamp1, nomchamp2, nomchamp3 FROM touslescours ORDER BY Nom;');
    mysql_close();
    $tableau = '<table>';
    while($donnees=mysql_fetch_array($reponse,MYSQL_ASSOC))$tableau.='<tr><td>'.$donnees['nomchamp1'].'</td><td>'.$donnees['nomchamp2'].'</td><td>'.$resultat['nomchamp3'].'</td></tr>';
    echo $tableau,'</table>';

    Pour le multipage, fais appel à ton ami google ;)
    1. Bonjours
      Merci pour votre code, j'ai essayer de rentrer votre morceau de code et ca m'affiche une erreur

      voila mon code exacte ( a par le mot de passe changer)
      <?php
      	          // D'abord, on se connecte à MySQL
              mysql_connect("localhost", "dkkkkk", "ejrkcnr");
              mysql_select_db("aalloo");
      
      	  //afficher le tableau avec les noms des poissons
      	  $reponse = mysql_query('SELECT id, nom sc, nom com, photo, lien FROM Poissons ORDER BY nom com;'); 
      mysql_close(); 
      $tableau = '<table>'; 
      while($donnees = mysql_fetch_array($reponse,MYSQL_ASSOC))$tableau.='<tr><td>'.$donnees['photo'].'</td><td>'.$donnees['nom com'].'</td><td>'.$resultat['nom sc'].'</td><td>'.$resultat['lien'].'</td></tr>'; 
      echo $tableau,'</table>'; 
       
      	  ?>


      et voila l'erreur kil me donne
      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/aquaref/www/eau douce/poissons/liste.php on line 92


      c'est quoi ki va pas svp?
      1. Comme l'erreur l'indique, c'est ta requête sql qui n'est pas bonne.

        ... ORDER BY nom com; -> ca c'est pas bon, si tu veux qu'il classe les informations d'abord en fonction de leur nom, puis en fonction du nombre de commentaires (?), il manque une virgule. -> ... ORDER BY nom, com;
        1. non c'est pas ca en fati au debut nom sc c'est un espace tout comme nom com (ca veut dire nom commun)lol
          je me suis douter que ca pouvait etre ca
          alors j'ai decider de changer les nom des variable dans la table
          nom sc ===> nom_sc
          nom com===>nom_com

          mais ca m'affiche toujours le message!!!!
          1. Probablement le nom d'un de tes champs (Evite les espaces !) qui n'est pas correct. Une faute de frappe ou de majuscule peut-être ?
            1. Bonjour,

              essayes comme ça, avec des { } à la boucle while c'est un peu plus lisible et avec une trace d'erreur sur la requette comme ça tu verra ce qui peche

              et si tu veux 10 enr il faut mettre LIMIT

              pour avoir toutes les autres pages il faudra faire une pagination php, on verra ça après

              <?php
              	          // D'abord, on se connecte à MySQL
                      mysql_connect("localhost", "dkkkkk", "ejrkcnr");
                      mysql_select_db("aalloo");
              
              	  //afficher le tableau avec les noms des poissons
              	  $reponse = mysql_query('SELECT id, nom_sc, nom_com, photo, lien FROM Poissons ORDER BY nom_com LIMIT 0,10') or die ("pb avec la requette: ".mysql_error()); 
              mysql_close(); 
              $tableau = '<table>';
              $tableau.='<tr><th>Photo</th><th>Nom commun</th><th>Nom scientifique</th><th>lien</th></tr>'; //titres des colonnes
              while($donnees = mysql_fetch_array($reponse)){
              	$tableau.='<tr><td>'.$donnees['photo'].'</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td>'.$resultat['lien'].'</td></tr>'; 
              }
              $tableau.='</table>';
              
              //affichage
              echo $tableau; 
               
              	  ?>
              
              1. WAHOU merci beaucoup ca marche c génial merci encore a vous 2

                si je peut me permettre une derniere question

                dans la colone photo j'ai entrée les liens des photo donc lui il me ressort le lien. Comment puis je faire afficher l'image en 50*50? quel code dois je entré

                merci encore

                edit en fait ca marche pas totalement

                il ne me donne pas le lien ni le nom_sc !!!!
                1. a la place de <td>'.$resultat['lien'].'</td>

                  tu mets:

                  <td><a href="'.$resultat['lien'].'">afficher</a></td>

                  si ton champ lien contient l'adresse de l'image à afficher
                  1. hou j'ai mal lu je croyait que tu voulait faire un lien

                    pour la taille mets:
                    <img src="'.$donnes['photo'].'" width="50"  height="50" />
                    
                    ou
                    
                    <img src="'.$donnes['photo'].'" style=" width:50, height:50" />
                    1. Euh lorsque je fais les modif pour afficher la photo il me sort
                      Parse error: syntax error, unexpected T_STRING in /home/aquaref/www/eau douce/poissons/liste.php on line 94


                      la ligne 94 etant celle la:
                      $tableau.='<tr><td>echo '<img src=".$donnes['photo'].">';</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>'; 


                      je vous donne mon code:
                      <?php
                      	          // D'abord, on se connecte à MySQL
                              mysql_connect("localhost", "chepo", "chepo");
                              mysql_select_db("aquaref_poissonsetplantes");
                      
                      	  //afficher le tableau avec les noms des poissons
                      	  $reponse = mysql_query('SELECT id, nom_sc, nom_com, photo, lien FROM Poissons ORDER BY nom_com') or die ("pb avec la requette: ".mysql_error()); 
                      mysql_close(); 
                      $tableau = '<table>';
                      $tableau.='<tr><th>Photo</th><th>Nom commun</th><th>Nom scientifique</th><th>lien</th></tr>'; //titres des colonnes
                      while($donnees = mysql_fetch_array($reponse)){
                      	$tableau.='<tr><td>echo '<img src="'.$donnes['photo'].'">';</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>'; 
                      }
                      $tableau.='</table>';
                      
                      //affichage
                      echo $tableau; 
                       
                      	  ?>


                      merci encore pour votre aide
                      1. $tableau.='<tr><td>echo '<img src="'.$donnes['photo'].'">';</td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>';

                        ->

                        $tableau.='<tr><td><img src="'.$donnes['photo'].'"></td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>';
                        1. j'ai effectuer le changement que vous m'avez indiqué
                          et voila le resultat:

                          http://ftp10.freeheberg.com/~aquaref/eau%20douce/poissons/liste.php

                          il y a plusieurs petits problemes

                          - l'image ne s'affiche pas pourtant tout a l'heure quand on lui demandai le lien de l'image, le lien etait bien afficher

                          -le lien final et le nom_sc ne semble pas etre pris sur ma base de donné, alors qu'ils existent bien

                          je vous remet l'integralité du code :

                          <?php
                          	          // D'abord, on se connecte à MySQL
                                  mysql_connect("localhost", "aquaref", "zf0s40w");
                                  mysql_select_db("aquaref_poissonsetplantes");
                          
                          	  //afficher le tableau avec les noms des poissons
                          	  $reponse = mysql_query('SELECT id, nom_sc, nom_com, photo, lien FROM Poissons ORDER BY nom_com') or die ("pb avec la requette: ".mysql_error()); 
                          mysql_close(); 
                          $tableau = '<table>';
                          $tableau.='<tr><th>Photo</th><th>Nom commun</th><th>Nom scientifique</th><th>lien</th></tr>'; //titres des colonnes
                          while($donnees = mysql_fetch_array($reponse)){
                          	$tableau.='<tr><td><img src="'.$donnes['photo'].'" width="50"  height="50" /></td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>'; 
                          }
                          $tableau.='</table>';
                          
                          //affichage
                          echo $tableau; 
                           
                          	  ?>


                          lol et dsl pour le "un peu d'aide" je pensais pas etre aussi nul lol merci encore a vous
                          1. <img src="'.$donnes['photo'].'" width="50" height="50" />

                            ->

                            <img src="'.$donneEEEEEEEEEEEEEEEEEEEs['photo'].'" width="50" height="50" />

                            Non, ami Terrien, tu n'es pas nul, tu es trop distrait ! ;)

                            Aussi, pour que PHP t'affiche toutes les erreurs, mets 'error_reporting(E_ALL);' au début de ton code.
                            1. youpi pour la photo ca marche merci encore tro gentil

                              mais 2 autres pb persistent les liens vers les pages et le nom_sc qui ne semblent pas etre pris sur la base de donné je voi pas pk il arrive a prendre le lien de la photo et le nom_com sans arriver a prendre les autres?
                              1. $tableau.='<tr><td><img src="'.$donnes['photo'].'" width="50" height="50" /></td><td>'.$donnees['nom_com'].'</td><td>'.$resultat['nom_sc'].'</td><td><a href="'.$resultat['lien'].'">afficher</a></td></tr>';

                                ->

                                $tableau.='<tr><td><img src="'.$donnes['photo'].'" width="50" height="50" /></td><td>'.$donnees['nom_com'].'</td><td>'.$donnees['nom_sc'].'</td><td><a href="'.$donnees['lien'].'">afficher</a></td></tr>';

                                ... distraction quand tu nous tiens ...
                                1. merci a vous ca marche nikel chrome je suis content

                                  voici le resultat grace a vous

                                  http://ftp10.freeheberg.com/~aquaref/eau%20douce/poissons/liste.php

                                  si quelqu'un sait comment modifier le style du tableau (largeur, bordure,...) merci

                                  merci encore a ceux qui m'ont aider
                                  1. Bien ton site, juste un bémol, la pub est un peu gênante, une fenêtre qui apparait à chaque changement de page.

                                    Si tu es prêt à mettre 15 € par an dans un hébergement, regardes du côté de OVH

                                    Perso je suis chez eux avec un 60GP (1€ HT par mois nom de domaine inclus ) et pour le moment très satisfait.

                                    avec des outils de stats etc...

                                    tu feras vite la différence par rapport un un "gratuit"
                                    1. merci pour le compliment sur mon site c gentil et pour la pub oui ca me fais BIP mais bon je ne suis qu'un pauvre etudiant et donc pas de ressources pour le moment.

                                      sinon pour le style le CSS oui je sais mais ce que je ne sais pas c ou l'introduire ds le code php

                                      merci
                                      • 1
                                      • 2