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 :

fonction image aleatoir


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut fonction image aleatoir
    bonjours j'ai une fonction avatar et je voudrais aficher un avatar 1 fois par jours on vas dire tout les 00 h

    voilà mon code pour afficher l'avatar homme

    Code php : 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
    <?php
    $query = $pdo->prepare("SELECT membre_id,membre_sexe,membre_date_de_naissance  FROM forum_membres WHERE membre_sexe=? AND membre_id > 10 ORDER BY membre_inscrit DESC LIMIT 5");
    $query->execute(array(HOMME));
    $mod = 3;
    $compteur = 0;
    $out = '';
    while($data = $query->fetch()){
        if($compteur > 0 && $compteur%$mod == 0)
            $out .= "\n\n";
        $out .= "\n".'' . sex2color($data['membre_sexe'],$data['membre_id']) . '';
        $image='image' . date("j") . 'jpg';
    echo ''. GetAvataraleatoireById($data['membre_id'],false).'';
        $compteur++;
    }
    echo $out.'';
    ?>

    et ma fonction


    Code php : 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    function GetAvataraleatoireById($membreId,$alignCenter=true,$class='avatar_membre'){
        if(ctype_digit($membreId)||is_int($membreId)){
        $rang = GetValueFromQuery("SELECT membre_rang as value FROM forum_membres WHERE membre_id=".$membreId);
        $value = GetValueFromQuery("SELECT membre_avatar as value FROM forum_membres WHERE membre_id=".$membreId);
        $sex = GetValueFromQuery("SELECT membre_sexe as value FROM forum_membres WHERE membre_id=".$membreId);
        $level = intval($rang);
        $str = ($alignCenter) ? '<div class="texte_center">' : '';
        $avatarHighLevel = function($level) use($class){
            $str = "";
            if($level == ADMIN)	$str .=  '<a title="Administrateur"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_admin.png" alt="" title="" /></a>';
            else if($level == MODO) $str .=  '<a title="Modérateur"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_modo.png" alt="" title="" /></a>';
            return $str;
        };
        if(!empty($value)){ 
            if(file_exists(DIR_AVATAR."/avatar_membres/".$value))
                $str .= '<img class="'.$class.'" src="'.DIR_AVATAR.'/avatar_membres/'.$value.'" alt="" title="" />';
            else{
                $a = $avatarHighLevel($level);
                if($a!="")
                    $str .= $a;
                else
                    $str .= '<img class="'.$class.'" src="'.DIR_AVATAR.'/avatar_par_default/avatar_question.png" alt="Avatar de ce membre introuvable" title="avatar de ce membre introuvable" />';
            }
        }else {
            if($level == ADMIN || $level == MODO || $level == NEWSER || $level == HOMME || $level == FEMME)
                $str .= '<a class="separator" title=""></a>';
            $a = $avatarHighLevel($level);
            if($a!="")
                $str .= $a;
            else if($level == NEWSER)
                $str .=  '<a title="Newser"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_news.png" alt="" title="" /></a>';
            else if($sex===HOMME && $value=="")
                $str .=  '<a title="Membre Homme"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_homme.png" alt="" title="" /></a>';
            else if($sex===FEMME && $value=="")
                $str .=  '<a title="Membre Femme"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_femme.png" alt="" title="" /></a>'; 
            else{
                $str .= '<img class="'.$class.'" alt="" title=""src="avatar/avatar_membres/'.$value.'" />';
            }
        }
        $str .= ($alignCenter) ? "</div>" : '';
        return $str;
        }else{
            return '<img class="'.$class.'" src="'.DIR_AVATAR.'/avatar_par_default/avatar_question.png" alt="" title="" />';
        }
    }

    j'ai trouvé un code sur un autre site

    comment et ou il faut que je dois mettre afin que ça soit aléatoire

    merci de votre aide
    Dernière modification par Domi2 ; 24/02/2014 à 09h41. Motif: Lien non pérenne

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Hello !

    Pour commencer il te faudrait une liste d'images, parmi laquelle tu en tirerai une au hasard. Or là, si j'en crois ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $value = GetValueFromQuery("SELECT membre_avatar as value FROM forum_membres WHERE membre_id=".$membreId);
    tu ne peux avoir qu'une seule image.

    Il faudrait donc commencer par ça, avoir une liste d'image (peut-importe la méthode d'ailleurs) qui pourraient chacune être choisie.

    Ensuite, une fois que cela sera fait, il suffira de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // En supposant $images qui est un tableau contenant la liste des urls de tes images.
    $image = $images[rand(0,count($images)-1];

  3. #3
    Invité
    Invité(e)
    Par défaut
    merci de ta réponse

    mais en concernant les images je ne peux pas faire une liste car déjà je ne sais pas les nom des images étant donné ca sera uploader sur le site et les nom ca seras des chiffre par exemple 645-87.png etc..

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Il va pourtant bien falloir les identifier clairement, car sinon comment veux-tu en choisir une ?

    Sont-elles rangées dans un répertoire particulier dans ton arborescence ? Ca peut suffire par exemple, pas besoin de plus. Autrement, peux-tu les retrouver facilement en bdd ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    oui ils sont ranger dans les dossier as tu bien regarder mon code ma fonction il y a les urll

    pour les avatars membre uploader

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img class="'.$class.'" alt="" title=""src="avatar/avatar_membres/'.$value.'" />

    qui corespond
    avatar/avatar_membres

    pour les avatars par default

    avatar/avatar_par_default/

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $str .=  '<a title="Newser"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_news.png" alt="" title="" /></a>';
    else if($sex===HOMME && $value=="")
        $str .=  '<a title="Membre Homme"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_homme.png" alt="" title="" /></a>';
    else if($sex===FEMME && $value=="")
        $str .=  '<a title="Membre Femme"><img class="'.$class.'" src="avatar/avatar_par_default/avatar_femme.png" alt="" title="" /></a>'; 
    else{
        $str .= '<img class="'.$class.'" alt="" title=""src="avatar/avatar_membres/'.$value.'" />';

    c'est là ou c'est ranger les avatars membre et avatar par défault
    Dernière modification par Bovino ; 23/02/2014 à 18h53. Motif: Merci d'indiquer le langage utilisé ([code=xxx]) pour activer la coloration syntaxique + réduction d'indentation excessive !

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Dans ce cas là, pas de soucis :
    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
     
            $images = array();
     
            //On liste les images des deux répertoires
            $dir = opendir('avatar/avatar_membres');
            while ($image = readdir($dir)) {
                $images[] = 'avatar/avatar_membres/'.$image;
            }
            closedir($dir);
            $dir = opendir('avatar/avatar_par_default');
            while ($image = readdir($dir)) {
                $images[] = 'avatar/avatar_par_default/'.$image;
            }
            closedir($dir);
     
            //Et on tire une image au hasard
            $image = $images[rand(0,count($images)-1)];
    A adapter exactement à ton code mais l'idée est là.

Discussions similaires

  1. Probleme d'image aleatoire
    Par john38 dans le forum Flash
    Réponses: 7
    Dernier message: 19/05/2007, 23h09
  2. [FLASH 8] Full browser avec une image aléatoire
    Par seden dans le forum Flash
    Réponses: 1
    Dernier message: 29/10/2006, 10h36
  3. 1 son sur 2 images aleatoires
    Par Creative dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/06/2006, 17h56
  4. Réponses: 3
    Dernier message: 19/12/2005, 13h56
  5. [MySQL] Pb image aleatoire
    Par zayn dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 26/09/2005, 14h18

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