Fonction Avataraleatoire

Fermé
arthur - 25 févr. 2014 à 12:35
 arthur - 27 févr. 2014 à 11:13
Bonjour,


j'ai un code pour affiche les avatars des hommes


 <?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']) . '
				
				'."\n".'' . GetAvataraleatoireById($data['membre_id'],false). "\n";
				 
				 
						
				$compteur++;
			}
			echo $out.'';
			
	?>




et ma fonction

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 bien séparé les dossier membre homme femme etc...

et j'aimerais afficher juste l'avatars homme mais aleatoire qui changera 1 fois par jours on vas dire 00 h

et j'ai ce code mas quand j'adapte a ma fonction il m'affiche une page blanche

je n'arrives pas a le mettre en place ce code sur ma fonction

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




es ce que vous pouvez m'(aidez a le mettre n place et qu'il affiche l'avatar et qui change 1 fois par jours l'avatar aléatoire

merci de votre aide


1 réponse

un peti up
0