Affichage résultat sql en ligne

cs_winnie39 Messages postés 45 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 4 mai 2011 - 26 févr. 2009 à 15:00
cs_winnie39 Messages postés 45 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 4 mai 2011 - 26 févr. 2009 à 15:48
Bonjour à tous,

Voila,

Je
souhaite faire simplement une page "panorama" qui récupère des images
via la base de données et les affiches ensuite en 2 ligne de 4 images (
donc 2 ligne et 4 colonne) et ensuite passer à une autre page qui contient les images suivantes et ainsi de suite

Tous fonctionne à merveille, sauf en ce qui concerne l' affichage par ligne... je n' ai qu' une seule colonne contenant mes huit images...
Voici ce dont il s' agit :

<?php

include('admin/connect.php');

      $nb = 4;
      $u = 1;
     
      $messagesParPage=8; //Nous allons afficher 5 messages par page.

//Une connexion SQL doit être ouverte avant cette ligne...
$retour_total=mysql_query('SELECT COUNT(*) AS total FROM panorama'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.

//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);

if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
     $pageActuelle=intval($_GET['page']);
    
     if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
     {
          $pageActuelle=$nombreDePages;
     }
}
else // Sinon
{
     $pageActuelle=1; // La page actuelle est la n°1   
}

$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire

// La requête sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query('SELECT * FROM panorama ORDER BY id_img DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');

while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{

     echo '';
          if ($u == 1)
          {
          echo\"----
\";
          }
        echo\"".stripslashes($donnees_messages['nom']).", \";
                $u++;
        echo\"\";
               echo\" ----
\";
        echo', ';
                if($u>$nb) { echo\"\"; $u = 1; }
}
            echo'

';

echo 'Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
     //On va faire notre condition
     if($i==$pageActuelle) //Si il s'agit de la page actuelle...
     {
         echo ' [ '.$i.' ] ';
     }   
     else //Sinon...
     {
          echo ' [panorama.php?page='.$i.' '.$i.'] ';
     }
}
echo '

';
?>

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre

2 réponses

cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
26 févr. 2009 à 15:37
Alors je pense qu'il faut que tu sorte ton initailisation de la table de ta boucle. En effet, pour chaque enregistrement tu crée une nouvelle table alors que tu ferme ta table bien après la boucle ... Donc ton html est archie faux.

echo '';
while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
          if ($u == 1)
          {
          echo\"----
\";
          }
        echo\"".stripslashes($donnees_messages['nom']).", \";
                $u++;
        echo\"\";
               echo\" ----
\";
        echo', ';
                if($u>$nb) { echo\"\"; $u = 1; }
}
echo'

';

Essai déjà ça, tu y verra plus clair je pense, et tiens nous au courant
0
cs_winnie39 Messages postés 45 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 4 mai 2011
26 févr. 2009 à 15:48
Merci de me consacrer un peu de temps,

Donc jai bien sorti mon echo'table...' de la boucle,
cela n' a pour seul effet que d' afficher certain des titres associer à mes images sur le côté...

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre
0
Rejoignez-nous