Aller au contenu

[REGLE]Faire apparaitre des données aléatoirement


Sujets conseillés

Posté (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é par tankia
Posté

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,B) 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 :)

Posté (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é par tankia
Posté (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é par tankia
Posté
$sql = "SELECT * FROM liens ORDER BY rand() LIMIT1";

Tu as apparemment oublié de mettre un espace entre LIMIT et 1.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...