|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 13 ![]() |
Bonjour,
Au final, je souhaite extraire des photos d'une base de données d'une manière aléatoire et les afficher page par page. J'ai pensé remplir un tableau avec les données et trier ce tableau (pas les trier au moment du "select.....). Auriez-vous une idée ? Voilà un extrait du script mais j'ai un message d'erreur Citation:
Code :
|
|||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() |
Hello,
pourquoi les triés ? -> pour "shake" les données à la sortie ( aléatoire ). tu ajoutes RAND() à la fin de ra requête SQL. |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : août 2005 Messages : 8 313 ![]() |
Là, avec ton sort, t'es en train de faire un tri des colonnes, pas des lignes, donc pas vraiment ce que tu veux faire. Faut faire un while ($row3 = mysql_fetch_row($resnb)) pour compléter un tableau et après le while, tu fais le sort et l'affichage.
Pourquoi préciser "extraire des photos d'une base de données d'une manière aléatoire" alors que tu fais un sort derrière ? Pour compléter ce que dit Him, le RAND() se met dans un ORDER BY : SELECT ... FROM ... WHERE ... ORDER BY RAND().
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 13 ![]() |
Merci pour ces réponses.
le cas est le suivant : ce sont des photos de biens immobiliers et on souhaite que lorsque l'internaute consulte le site, les photos s'affichent aléatoirement, trois par trois par page, mais qu'elles passent bien toutes en revue. J'avais déja trié aléatoirement au moment du select, mais au moment de cliquer sur "page suivante", le fichier s'éxécute à nouveau, et le tri se refait , donc des photos déjà vues peuvent se réafficher. Donc je souhaite mettre les photos dans un tableau, trier ce tableau et le lister, faire page suivante et continuer de lister ce tableau sans refaire de tri. Merci pour le coup de main. |
|
|
00
|
|
|
#5 | ||
|
Membre expérimenté
![]() Inscription : août 2005 Messages : 515 ![]() |
Bonjour,
votre foreach ne peut fonctionner car $row3 n'est plus un array mais une boolean (FALSE). Sinon, pour votre souci, il y a toujours moyen d'utiliser la session de votre visiteur pour coder un petit script qui va bien. Code :
J'ai préféré des for car au moins, le script ne fera qu'une fois le tour avant d'en voir le bout, alors qu'avec mt_rand ou array_rand, on peut facilement faire 10x le tour. J'ai aussi préféré un SELECT simple, plutôt qu'une requête plus lourde (crade?) avec NOT IN... je suis resté dans le cadre de l'exemple en travaillant avec PHP. Cordialement, DaRiaN. |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 13 ![]() |
Bonjour,
j'approche de la solution, mais j'ai oublié de préciser un peu plus mon problème. Dans cette table (qui contient entre autres, un champ "photos" et un champ "référence"), que je souhaite trier aléatoirement, il faut que tous les champs soient triés ensemble et que je puisse afficher mes photos accompagnées de leurs références. Merci |
|
|
00
|
|
|
#7 | ||
|
Membre expérimenté
![]() Inscription : août 2005 Messages : 515 ![]() |
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com