IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Rand avec des images


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut [Tableaux] Rand avec des images
    Bonjour a tous ,

    Voila je me pose des question sur la fonction rand , je me demande si on peu affecter un rand sur des images?

    Ou bien une autre fonction que je connais pas qui me permettrai de generer des image aleatoire lu prealablement dans certain dossier specifiques?

    merci d'avance pour vos reponse

  2. #2
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Il suffit d'assigner chaque image d'un dossier dans un tableau avec scandir et de laisser la magie de l'"aléatoire" à array_rand pour choisir une image dans le tableau !
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    merci pour ta reponse mais est ce que tu pourrai me donner un exemple parce que je comprend pas trop comment faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $dir = "images";//mon rep images
    $dossier  = opendir($dir);//on ouvre le dossier
    while ($filename = readdir($dossier)) { 
        $files[] = $filename;
    }
    //nb d'image max
    $max=10;
     
    for($i=0;$i<$max;$i++)
        {
        echo "<img src='images/$files[$i]' />";//on affichage l'image
        }
    Donc jusque la ok il me genere les 10 premieres images mais hélas je ne comprend pas la fonction array_rand donc si tu pouvais m'expliquer un peu comment ca fonctionne ce serai tres sympa

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Tu as un tableau qui contient le chemin vers tes images. Maintenant ce que tu veux c'est sortir ces images aléatoires dans un ordre aléatoire. Tu as deux solutions : tu mélanges ton tableau rapidement en inversant des index aléatoirement (facile) ou tu utilises les fonctions préexistantes de php comme on te l'a conseillé (encore plus facile)

    Citation Envoyé par documentation
    mixed array_rand ( array input [, int num_req] )

    array_rand() est pratique lorsque vous voulez sélectionner une ou plusieurs valeurs au hasard dans un tableau. Le paramètre input est un tableau, et num_req spécifie le nombre de valeurs que vous voulez obtenir (par défaut, c'est 1).

    Si vous ne demandez qu'une entrée, array_rand() retourne l'index de la valeur. Sinon, elle retourne un tableau d'index. Cela vous permet de faire une sélection au hasard de clés, ou bien de valeurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    $dir = "images";//mon rep images
    $dossier  = opendir($dir);//on ouvre le dossier
    while ($filename = readdir($dossier)) { 
        $files[] = $filename;
    }
    //nb d'image max
    $max=10;
     
    // initialiser le générateur de nombre aléatoire
    srand ((double) microtime() * 10000000);
    // s'il y a plus de $max images dans le dossier on n'en prendra que $max
    $nbImg = count($files);
    if($nbImg > $max)
    {
    $nbImg = $max;
    }
     
    // récupérer un tableau contenant une suite d'index de notre tableau dimages
    $rand_keys = array_rand ($files, $nbImg);
     
    for($i=0; $i<$nbImg; $i++)
        {
        //on affiche l'image
        echo "<img src='images/" . $files[$rand_keys[$i]] . "' />";
        }
    La tu récupères tes images affichées dans un ordre aléatoire, si t'en as 100 dans le dossier ca en prendra au maximum 10.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    ah d'accord ben ecoute merci beaucoup pour ton aide ca fonctionne niquel maintenant

  6. #6
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    J'aurai encore une question sur cette fonction :

    Voila je fais un site pour une entreprise , il sera question de visiter les produits stocké dans une base de donné

    Un produit etant defini comme tant :

    id
    ref
    titre
    categorie
    famille
    marque
    description
    prix

    Donc dans un 1er temps je me sers de la ref , du titre , categorie et famille

    Ex : http://chatnet59540.free.fr/integration.php

    Dans cette page j'ai inclus la fonction pour generer aleatoirement les produits mais hélas le titre ne va pas avec l'image et dc ne va pas avec son prix

    Je sais pas si je suis tres clair

    Voila merci d'avance

    EDIT: Voila mon code pour vous expliquer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    //nb d'image max
    $max=9; 
     
    // Initialiser le générateur de nombre aléatoire
    srand ((double) microtime() * 10000000);
     
    $sql=mysql_query("SELECT * FROM integration order by prix_int");
    while ($row = mysql_fetch_array($sql)) { 
        $id[]=$row['id_int'];
        $ref[]=$row['ref_int'];
        $titre[]=$row['titre_int'];
        $prix[]=$row['prix_int'];
        $cat[]=$row['cat_int'];
        $fam[]=$row['fam_int'];
        }
     
    $nbImg = count($id);
    if($nbImg > $max)
    {
    $nbImg = $max;
    }
     
    // Récupérer un tableau contenant une suite d'index de notre tableau d’images
    $ref_keys = array_rand ($ref, $nbImg);
    $id_keys = array_rand ($ref, $nbImg);
    $titre_keys = array_rand ($titre, $nbImg);
    $prix_keys = array_rand ($prix, $nbImg);
    $cat_keys = array_rand ($cat, $nbImg);
    $fam_keys = array_rand ($fam, $nbImg);
    Apres on affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <strong>
    <a href='produit_integration.php?id=".$id[$ref_keys[$i]]."&cat=".$cat[$cat_keys[$i]]."&fam=".$fam[$fam_keys[$i]]."'>".$titre[$titre_keys[$i]]."</a></strong>
     
    <img src='images/miniature/integration/".$ref[$ref_keys[$i]].".jpg') title=' $titre ' style='margin-left: 11px;' border='0'>");

  7. #7
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 75
    Points : 61
    Points
    61
    Par défaut
    c'est bon j'ai trouver merci quand meme a ceux qui m'on aidé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/08/2006, 12h14
  2. Probleme de double rolover en CSS avec des images
    Par gandoulfe dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 12/04/2006, 16h24
  3. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h13
  4. Liaison avec des images dans une table
    Par ValérieBruxelles dans le forum Access
    Réponses: 5
    Dernier message: 25/11/2005, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo