tankia Posté 1 Juin 2005 Posté 1 Juin 2005 (modifié) Bonsoir tout le monde. Je suis débutant en PHP et j'aimerais savoir comment faire apparaitre des données tirées d'une base de donnée aléatoirement sur un site. Par exemple la base contient une 10aine de liens de sites et à chaque actualisation de la page le lien change aléatoirement. J'espère être assez clair, j'attends votre aide Modifié 2 Juin 2005 par tankia
Light_at_the_end Posté 1 Juin 2005 Posté 1 Juin 2005 Tout d'abord, le plus facile c'est bien sur d'indexer ses liens dans ta page de donnée avec un numéro automatique que tu nommes par exemple : num Ensuite, une fois que c'est fait, tu utilises la fonction rand(a, qui génère un nombre aléatoirement Si tu sais le nombre de liens que tu possèdes, alors tu mets : $var = rand(1,nombredeliensautotal) Puis ensuite tu mets une requete mysql pour extraire ta donnée Par exemple si ta table s'appelle 'Liens' tu fais <?$var = rand(1,nombredeliensautotal);$res=mysql_query("SELECT * FROM Liens WHERE num='".$var."'");$tab=mysql_fetch_array($res, MYSQL_ASSOC);// ca ce sont les accès à la base de données puis ensuite :echo "".$tab['num']"";// L'écho permet ici de faire afficher le numéro automatique, mais tu peux faire afficher n'importe quel valeur des champs?> Voila en esperant que ca t'aide
MarvinLeRouge Posté 1 Juin 2005 Posté 1 Juin 2005 Salut, Il me semble que tu peux aussi tout bonnement mettre ORDER BY RAND() LIMIT 1 à la fin de ta requète
tankia Posté 1 Juin 2005 Auteur Posté 1 Juin 2005 (modifié) ok donc si je comprends bien ça donne : <?php$liendb = mysql_connect("mabdd", "monlogin", "monpassword");mysql_select_db ("mabdd");$sql = "SELECT * FROM liens ORDER BY rand() LIMIT1";$resultat = mysql_query ($sql);$liens = mysql_fetch_array ($resultat);echo $liens['num'];mysql_close($liendb);?> Modifié 1 Juin 2005 par tankia
tankia Posté 1 Juin 2005 Auteur Posté 1 Juin 2005 (modifié) ça me met : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/users/t/tankia/www/annuaire/index.php on line 8 Et sinon là j'essaie de faire apparaître un seul truc aléatoirement mais moi j'aimerais faire apparaitre un nom de site son lien et sa description... Edit : Vu que je suis débutant en php il me faudrait une aide et des explications s'il vous plait. Modifié 1 Juin 2005 par tankia
MarvinLeRouge Posté 1 Juin 2005 Posté 1 Juin 2005 Mets un espace entre le limit et le chiffre qui le suit (limit sert à indiquer le nombre maximum de résultats).
Rapace15 Posté 1 Juin 2005 Posté 1 Juin 2005 $sql = "SELECT * FROM liens ORDER BY rand() LIMIT1"; Tu as apparemment oublié de mettre un espace entre LIMIT et 1.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant