Invité Terry Posté(e) le 13 septembre 2004 Signaler Partager Posté(e) le 13 septembre 2004 Salut, Je recherche un script php : la fonction include aléatoire. Par exemple, j'ai crée 3 menus différents, et j'aimerais que le menu s'affiche differemment à chaque fois : include("./menu1.php"); include("./menu2.php"); include("./menu3.php"); Comment fait-on ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté(e) le 13 septembre 2004 Signaler Partager Posté(e) le 13 septembre 2004 include("./menu". rand(1,3) .".php"); http://fr.php.net/manual/fr/function.rand.php Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 13 septembre 2004 Signaler Partager Posté(e) le 13 septembre 2004 Merci, je savais que trouverai de l'aide ici. J'ai posé la même question sur plusieurs forums, mais personne n'a su répondre. Donc je reste... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 18 septembre 2004 Signaler Partager Posté(e) le 18 septembre 2004 Encore une question si ça ne vous embête pas. Si les 3 fichiers que je dois appeler portent tous des noms très différents ? Ex : include("./rouge.php"); include("./vert.php"); include("./bleu.php"); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
The Jedi Posté(e) le 19 septembre 2004 Signaler Partager Posté(e) le 19 septembre 2004 Dans ce cas faut ruser $fichiers = array('rouge', 'vert', 'bleu'); $taille = count( $fichiers) - 1; include( $fichiers[ rand(0, $taille) ] .'.php'); Dans ce tableau, comme il n'est qu'à une dimension, un index (1,2,3 etc.) est automatiquement créé et chaque élément a donc un numéro correspondant. Faut juste faire gaffe car l'index commence à 0 et non à 1, d'où la décrémentation de $taille Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 20 septembre 2004 Signaler Partager Posté(e) le 20 septembre 2004 Tu ne sais pas si ça peut poser problème si on "include" un fichier qui contient "include" ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sigfrodi Posté(e) le 21 septembre 2004 Signaler Partager Posté(e) le 21 septembre 2004 Tu ne sais pas si ça peut poser problème si on "include" un fichier qui contient "include" ? Perso j'ai jamais eu de problème en faisant ça. Le Include ne fait jamais que prendre le fichier dans la commande include et l'intégrer dans le fichier dans lequel se trouve l'include (en gros). Le seul problème c'est éventuellement des problèmes de variables si tu as des variables de même nom mais qui ne servent pas à la même chose. Par exemple si tu as un $result qui contient le résultat d'un mysql_query() avant le include, que dans ton fichier inclus la même variable contienne par exemple un integer, si après l'exécution de ton include tu veux faire un mysql_fetch_array($result) bah forcément ça coince. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Terry Posté(e) le 21 septembre 2004 Signaler Partager Posté(e) le 21 septembre 2004 Dans ce cas faut ruser $fichiers = array('rouge', 'vert', 'bleu'); $taille = count( $fichiers) - 1; include( $fichiers[ rand(0, $taille) ] .'.php'); J'ai l'impression que rouge.php apparait beaucoup plus souvent. Est-il possible de mettre une probabilité d'apparition ? Exemple : rouge.php = 20 % vert.php = 65 % bleu.php = 15 % Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrBean Posté(e) le 21 septembre 2004 Signaler Partager Posté(e) le 21 septembre 2004 Si il arrive plus souvent... c'est aléatoire, c'est qu'une impression. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sigfrodi Posté(e) le 22 septembre 2004 Signaler Partager Posté(e) le 22 septembre 2004 J'ai l'impression que rouge.php apparait beaucoup plus souvent.Est-il possible de mettre une probabilité d'apparition ? Exemple : rouge.php = 20 % vert.php = 65 % bleu.php = 15 % La fonction rand() en PHP fait du "pseudo-aléatoire" (dixit la doc de Nexen) et n'est donc qu'un truchement. Il n'existe pas de "vraie" fonction pour choisir un nombre de manière aléatoire en PHP, donc ne t'étonnes pas que certains résultats apparaissent plus souvent que d'autres. J'ai remarqué ça moi aussi. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.