cs_winnie39
Messages postés45Date d'inscriptionlundi 23 avril 2007StatutMembreDernière intervention 4 mai 2011
-
26 févr. 2009 à 15:00
cs_winnie39
Messages postés45Date d'inscriptionlundi 23 avril 2007StatutMembreDerniè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 '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
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 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