Fonctions newbie [Résolu]

Signaler
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008
-
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
-
Bonjour;
J'ai besoin d'aide pour strucurer mon code:
<?php
/////////////////Connection sql /////////////////////
$connexion = mysql_connect("localhost","root","221284");
mysql_select_db("cerebral",$connexion);
///////////////////Recup de l'avcatar//////////$avatar mysql_query("SELECT avatar FROM donnees WHERE login '$login'");
$avatar = mysql_result($avatar,login);
if ($avatar == 1))  {  echo 'avatar1.jpg'; }
?>
Enfait j'ai une centaine de if pour déterminer quel avatar afficher et j'aimerais bien que le code plus court.
J'ai essayé de m'approché des expressions sur php.net mais j'ai pas trouvé ce que je vouslais, ni dans les tutoriaux de phpcs.

Je cherche un lien d'un tuto d'une source bien commentée pour un exemple concret.
Merci, @ bientôt.

14 réponses

Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

et pour un script performant :$avatar mysql_query("SELECT avatar FROM donnees WHERE login '$login'");
if(mysql_num_rows($avatar)>0)
{
$avatar = mysql_result($avatar,0,"avatar");
$image='avatar'.$avatar.'.jpeg;';
if(isfile($image)) 
echo '';
else
echo '';
}
else
echo 'login invalide';

N'importe où. 
mais là où il le faut.
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
<?php



$login = htmlentities($_POST[ 'login' ], ENT_QUOTES);




// Connection sql


$connexion = mysql_connect("localhost","root","pass") ordie(mysql_error());
mysql_select_db("cerebral",$connexion);

// Recuperation de l'avatar
$avatardefault = "noavatar.jpg" ;

$query  = mysql_query("SELECT avatar FROM donnees WHERE login= '".$login. "' LIMIT 1;" );




$avatar = 









mysql_result($query,0);




$avatar = "avatar" .
$avatar
.".jpg";



?>







echo file_exists($avatar)



?


$avatar

:

 




$avatardefault;

?>">


<?




mysql_free_result($query);
mysql_close($connexion);

?>




<hr size ="2" width="100%" />
Croc (click me)
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

<?php
/////////////////Connection sql /////////////////////
$connexion = mysql_connect("localhost","root","221284");
mysql_select_db("cerebral",$connexion);
///////////////////Recup de l'avcatar//////////$avatar mysql_query("SELECT nom_avatar FROM donnees WHERE login '$login'");
$avatar = mysql_result($avatar,0,"nom_avatar");
if ($avatar>0))  {  echo ''; }
?>

N'importe où. 
mais là où il le faut.
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Oh lala, je me demande si vous lisez les sources quelques fois....

$avatar = mysql_result($avatar,login);

http://fr.php.net/manual/fr/function.mysql-result.php

string mysql_result ( resource result, int row [, mixed field] )
* : <tt>
result</tt>La ressource de résultat
qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction
mysql_query().

* : <tt>row</tt>
Le numéro de la ligne à récupérer. Les numéros de lignes commencent à
<var>0</var>.

* : <tt>field</tt>
Le nom ou la position du champ à récupérer.

Alors il sort d'ou le "LOGIN" en 2ème position dans ta fonction ???

Voit plutot ici :
http://fr.php.net/manual/fr/function.mysql-fetch-array.php
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008

<?php
/////////////////Connection sql /////////////////////
$connexion = mysql_connect("localhost","root","pass");
mysql_select_db("cerebral",$connexion);
///////////////////Recup de l'avcatar//////////$avatar mysql_query("SELECT avatar FROM donnees WHERE login '$login'");
$avatar = mysql_result($avatar,avatar);
if ($avatar == 1)  {  echo ''; }
if ($avatar == 2)  {  echo ''; }
if ($avatar == 3)  {  echo ''; }
if ($avatar == 4)  {  echo ''; }
if ($avatar == 5)  {  echo ''; }
if ($avatar == 6)  {  echo ''; }
if ($avatar == 7)  {  echo ''; }
if ($avatar == 8)  {  echo ''; }
if ($avatar == 9)  {  echo ''; }
if ($avatar == 10)  {  echo ''; }
if ($avatar == 11)  {  echo ''; }
?>
En sachant que j'ai 100 avatars, comment alleger le code?? Merci
Ps désolé fhx mais j'ai pas encore débug et aurait trouver pour le <tt>field
</tt><tt>Sinon younes371 mon probleme n'est pas pour afficher l'image mais contracter les if.
Si c'est possible bien entendu.
</tt>
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

$avatar = mysql_query("SELECT avatar FROM donnees WHERE login = '$login'");
if(mysql_num_rows($avatar)>0)
{
$avatar = mysql_result($avatar,0,"avatar");
  echo '';
}
else
echo 'login invalide';
N'importe où. 
mais là où il le faut.
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

j'ecris bien :
$avatar = mysql_result($avatar,0,"avatar");

N'importe où. 
mais là où il le faut.
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008

Yes ca marche!
Merci encore younes371.
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

de rien,

al hamdo li allah

N'importe où. 
mais là où il le faut.
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
<?php



$login = htmlentities($_POST[ 'login' ], ENT_QUOTES);




// Connection sql


$connexion = mysql_connect("localhost","root","pass") ordie(mysql_error());
mysql_select_db("cerebral",$connexion);

// Recuperation de l'avatar
$avatardefault = "noavatar.jpg" ;

$query  = mysql_query("SELECT avatar FROM donnees WHERE login= '".$login. "' LIMIT 1;" );




$avatar = 









mysql_result($query,0);




$avatar = "avatar" .
$avatar
.".jpg";



?>







echo file_exists($avatar)



?


$avatar

:

 




$avatardefault;

?>">


<?




mysql_free_result($query);
mysql_close($connexion);

?>




<hr size ="2" width="100%" />
Croc (click me)
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Moi ce que j'aime bien c est ceux qui prennent leur date de naissance pour mot de passe

$connexion = mysql_connect("localhost","root","221284");

et qui le dépose dans un forum .

Il faut espérer que cela ne soit pas le meme sur votre site :)

Vilhjálms Sigurðsdóttir aka Frëyjá
Messages postés
115
Date d'inscription
mercredi 27 août 2003
Statut
Membre
Dernière intervention
7 mars 2008

lol, je sais mais ca m'apprendra a pas me relire, j'ai déjà changé le pass de mes serveurs.
Un prénom en hexa ca devrait faire l'affaire.
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Lol c'est sur cela limite la recherche qu a 16 caracteres :-)



Vilhjálms


Sigurðsdóttir aka Frëyjá
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Enfin que sur 16 caracteres :-)



Vilhjálms


Sigurðsdóttir aka Frëyjá