enregistrement les plus récents, aléatoires...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : enregistrement les plus récents, aléatoires...

par docdamien » 28 mai 2008, 20:38

Merci, vous êtes des dieux

:agenouille: :boire4: \:D/

par AB » 27 mai 2008, 22:25

Concernant la fonction array_rand(), pour l'utiliser tu devras faire un tableau correspondant à tes enregistrements donc faire au préalable une requête sur tous tes enregistrements et lister ce résultat dans ton tableau.

Si tu n'a pas besoin de cette requête complète (et donc du tableau complet) tu peux simplement faire le tri aléatoire au niveau de ta requête
SELECT * FROM jeu ORDER BY RAND() LIMIT 5

par AB » 27 mai 2008, 22:06

Sinon pour les plus récents, si j'ai bien compris les commentaires de ta table, les plus récents correspondent à ceux qui sont les derniers ajoutés. En même temps tu as une colonne ID auto incrémentée donc l'idée première de dumbar devrait fonctionner

Code : Tout sélectionner

SELECT * FROM `jeu` ORDER BY ID DESC LIMIT 0,5

par dunbar » 27 mai 2008, 20:22

Merci beaucoup pour les enregistrements aléatoires. =D> :agenouille:
Pour les derniers enregistrement
ORDER BY xxxxx DESC
J'ai pas compris par contre pour le tri par date. Pourrais tu préciser? :?:
J'ai lu trop vite j'ai mis cela pour les dernier enregistrement sorry :oops:

Maintenant concernant une recher par date essaye de jouer avec ces fonction
WHERE YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = MONTH(CURDATE())

par docdamien » 27 mai 2008, 20:09

Merci beaucoup pour les enregistrements aléatoires. =D> :agenouille:
Pour les derniers enregistrement
ORDER BY xxxxx DESC
J'ai pas compris par contre pour le tri par date. Pourrais tu préciser? :?:

par dunbar » 27 mai 2008, 18:42

Salut,

Pour les derniers engistrement
ORDER BY xxxxx DESC 
Et pour ton affichage aléatoire regarde du coter de
array_rand
Peut-être :?: :wink:

enregistrement les plus récents, aléatoires...

par docdamien » 27 mai 2008, 18:15

Salut,

j'ai une base de donnée avec une table pour stocker les jeux de mon site (http://jeuxenligne.freehostia.com/jeu/).
Voici le code:

Code : Tout sélectionner

CREATE TABLE `jeu` ( `ID` mediumint(9) NOT NULL auto_increment, `nom` varchar(50) NOT NULL default '', `but` text NOT NULL, `trucs` text NOT NULL, `larg` text NOT NULL, `haut` text NOT NULL, `date` date NOT NULL, //date d'ajout `categorie` enum('course','tir','action','reflexion','sport','arcade') NOT NULL default 'course', `adresseabs` varchar(250) NOT NULL default '', `aprouve` enum('0','1') default '0', UNIQUE KEY `ID` (`ID`), UNIQUE KEY `adresseabs` (`adresseabs`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
elle me sert à générer des pages dynamiques pour chaque jeu.

Fini pour l'introduction, passons aux choses sérieuses:

J'aimerais sélectionner 5 enregistrements de cette table selon ce critère: la date d'ajout (=> jeux les plus récents) et 5 autres aléatoirement.

Quelqu'un aurait t-il une idée de comment sa marche? Un truc genre

Code : Tout sélectionner

SELECT * FROM `jeu` WHERE date=récente LIMIT 0,5
et

Code : Tout sélectionner

SELECT * FROM `jeu` WHERE au hasard LIMIT 0,5
Pas mal de questions, je sais. Mais bon...

Merci d'avance