Affichage colonne + pagination d'un resultat sql [Résolu]

Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 18 nov. 2009 à 18:37 - Dernière réponse : Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention
- 19 nov. 2009 à 20:53
Bonsoir à tous

Voilà je tourne en rond depuis plus d'une semaine à chercher un script valable de "pagination" et je ne trouve rien qui m'aille ....

Voilà en gros ce que je cherche : (c'est pour une galerie photo)
Je cherche à afficher mon resultat sous forme de tableau comprenant 3 x 3 photos .

Soit j'arrive à afficher 9 photos à la suite et un lien vers les pages suivantes quand il y a d'autres photos ...

Soit j'arrive à afficher toutes mes photos sur 3 colonnes mais sans pagination ...

Mais impossible de combiner les 2 !

Merci d'avance de votre aide.

ps: je peux vous filer les 2 "bouts" de code qui permettent d'arriver à ces 2 résultats si vous voulez
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
phpAnonyme 403 Messages postés mercredi 28 octobre 2009Date d'inscription 23 mars 2012 Dernière intervention - 19 nov. 2009 à 18:37
3
Merci
Bon excuse moi encore, j'ai fait ça à chaud mais la je me suis décidé à faire un test et voici la bonne façon :

$i=1;
$cutlimit=3;

$sql = mysql_query(SELECT .....);

echo "\";

while ($ligne = mysql_fetch_array($sql))
{
echo \"$ligne[$image], \";
if($i==$cutlimit)
{
$cutlimit += $cutlimit;
echo \"----
\";
}
$i++;
}
echo "
";



______________________________________________________________________
Test du chi2

Merci phpAnonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de phpAnonyme
Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 18 nov. 2009 à 20:58
0
Merci
J'ai avancé un peu mais j'ai une erreur que je n'arrive pas à résoudre...

Au lieu de m'afficher mes 9 premieres images sur la premiere page et les 2 dernieres sur la deuxieme page , il m'affiche 8 fois la premiere image , puis 8 fois la seconde etc etc...

Voici le code :

<html>
<head>
<title>Ma galerie</title>
<script type="text/javascript" src="lightbox.js"></script>

</head>



<?php
include ('fonction.inc.php');
// on se connecte à MySQL 
$connexion = mysql_connect('localhost', 'root', ''); 

// on sélectionne la base 
mysql_select_db('galerie',$connexion); 

// on crée la requête SQL qui permettra de choisir la technologie voulue
$sql = 'SELECT * FROM images ORDER BY numero DESC';


$parpage = 9; // Nombre d'enregistrements par page à afficher
$nbcol = 3;
$champ = 'lienmini';
$table = 'images';
$image = 'lien';


// On définit le suffixe du lien url qui affichera les pages
// $_SERVEUR['PHP_SELF'] donne l'arborescence de la page courante
$url = 'index.php'."?limit=";

$total = mysql_query($sql); // Résultat total de la requête $sql
$nblignes = mysql_num_rows($total); // Nbre total d'enregistrements

// On calcule le nombre de pages à afficher en arrondissant
// le résultat au nombre supérieur grâce à la fonction ceil()
$nbpages = ceil($nblignes/$parpage);


//==============================================================================
// Exemple d'affichage HTML
//==============================================================================


// Si une valeur 'limit' est passée par url, on vérifie la validité de
// cette valeur par mesure de sécurité avec la fonction validlimit()
// cette fonction retourne automatiquement le résultat de la requête
$result = validlimit($nblignes,$parpage,$sql);

// On affiche le résultat de la requête
echo '';
// On crée donc ici son propre tableau pour lequel on souhaite une pagination
while ($ligne = mysql_fetch_array($result)) {

$nb= count($ligne);
for($i=0;$i<$nb;$i++){
if($i%$nbcol==0)
echo '----
';
echo ', ';
if($i%$nbcol==($nbcol-1))
echo '';}
}echo '
';
// Menu de pagination que l'on place après la requête
echo "
";
echo pagination($url,$parpage,$nblignes,$nbpages);
echo "
";

mysql_free_result($result); // Libère le résultat de la mémoire


// on ferme la connexion à mysql 
mysql_close(); 
?>
Commenter la réponse de Matmat21
phpAnonyme 403 Messages postés mercredi 28 octobre 2009Date d'inscription 23 mars 2012 Dernière intervention - 18 nov. 2009 à 21:58
0
Merci
je tourne en rond depuis plus d'une semaine à chercher un script valable de "pagination"
T'a sûrement cherché j'en doute pas! Convenablement je pense pas !

et je ne trouve rien qui m'aille ....

Il est rare de trouver un script en parfaite adéquation avec ses besoins par contre on peu toujours s'inpirer d'un script ou d'un tutoriel.




Test du chi2
Commenter la réponse de phpAnonyme
Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 18 nov. 2009 à 22:04
0
Merci
hummm sympa la réponse , ça m'avance bien ...
Commenter la réponse de Matmat21
phpAnonyme 403 Messages postés mercredi 28 octobre 2009Date d'inscription 23 mars 2012 Dernière intervention - 18 nov. 2009 à 22:09
Commenter la réponse de phpAnonyme
Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 19 nov. 2009 à 17:13
0
Merci
Il est très bien ton lien , je l'avais même déjà visité

Mais ça ne résolve pas mon problème car il parle juste de la pagination toute simple (chose que j'arrive à faire sans soucis)

Chose que j'arrive à faire également : afficher toutes mes images sur 3 colonnes.

Mais je n'arrive pas à faire les deux en même temps ! afficher un nombre d'images (en l'occurrence ici 9)sur plusieurs pages.

merci d'avance
Commenter la réponse de Matmat21
phpAnonyme 403 Messages postés mercredi 28 octobre 2009Date d'inscription 23 mars 2012 Dernière intervention - 19 nov. 2009 à 18:02
0
Merci
Procède ainsi :

Au départ la récupération dans la base de donnée est linéaire donc pour faire un affichage 3x3 il te faut coupé la récupération :

Exemple :

$i=0;
$cutlimit=3;

$sql = mysql_query(SELECT .....);

echo "\";

while ($ligne = mysql_fetch_array($sql))
{
echo \"$ligne[$image], \";
if($i==$cutlimit)
{
$cutlimit += $cutlimit;
echo \"----
\";
}
$i++;
}
echo "
";
Il s'agit d'une approche



______________________________________________________________________
Test du chi2
Commenter la réponse de phpAnonyme
Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 19 nov. 2009 à 18:20
0
Merci
C'est déjà mieux mais pas encore ça ...

Là il m'affiche sur la premiere page : 4 photos , en dessous 3 puis en dessous 2.
et sur la deuxieme page , les deux dernieres photos.
Commenter la réponse de Matmat21
phpAnonyme 403 Messages postés mercredi 28 octobre 2009Date d'inscription 23 mars 2012 Dernière intervention - 19 nov. 2009 à 18:25
0
Merci
Non en faite c'est moi il faut mettre $cutlimit=2;


______________________________________________________________________
Test du chi2
Commenter la réponse de phpAnonyme
phpAnonyme 403 Messages postés mercredi 28 octobre 2009Date d'inscription 23 mars 2012 Dernière intervention - 19 nov. 2009 à 18:27
0
Merci
et j'ai oublié : dans le if() $cutlimit = $cutlimit+1;


______________________________________________________________________
Test du chi2
Commenter la réponse de phpAnonyme
Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 19 nov. 2009 à 19:07
0
Merci
Ah ben niquel çà fonctionne ...

J'ai encore une fois pas tout compris mais bon je crois que ça fait tellement d'heure que je passe dessus que je vois plus rien .

Merci beaucoup de ta gentillesse et de ton aide.
Commenter la réponse de Matmat21
Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 19 nov. 2009 à 19:11
0
Merci
D'ailleurs c'est avec ta solution sur la page 1 que ça fonctionne , celle là j'ai pas essayé encore mais je vais tester aussi.

merci encore
Commenter la réponse de Matmat21
phpAnonyme 403 Messages postés mercredi 28 octobre 2009Date d'inscription 23 mars 2012 Dernière intervention - 19 nov. 2009 à 19:38
0
Merci
OK, n'oublie pas de valider la bonne réponse


______________________________________________________________________
Test du chi2
Commenter la réponse de phpAnonyme
Matmat21 11 Messages postés jeudi 28 décembre 2000Date d'inscription 19 novembre 2009 Dernière intervention - 19 nov. 2009 à 20:53
0
Merci
voilà qui est fait
(j'ai validé ta derniere solution qui me parait etre la meilleure vu qu'on retrouve bien le nombre d'image qu'on désire par colonne en face de $cutlimit)
Commenter la réponse de Matmat21

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.