Aller au contenu

Fonction Include(); Aléatoire


Messages recommandés

Posté(e)

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 ?

Posté(e)

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...

Posté(e)

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");

Posté(e)

Dans ce cas faut ruser :rolleyes:

$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 ;)

Posté(e)
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. :delire:

Posté(e)
Dans ce cas faut ruser :unsure:

$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 %

Posté(e)
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.

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

By using this site, you agree to our Conditions d’utilisation.