function simple, mais petit problème

Mammouth du PHP | 686 Messages

22 oct. 2009, 19:32

Est ce que ton $score est bien definit avant d'appeller la fonction ?
si tu mets un echo $scrore juste avant d'appeller la fonction (pas dedans), tu as quoi ?

Eléphant du PHP | 129 Messages

22 oct. 2009, 20:32

A non en faite ! J'ai fait un echo $score et rien, la je ne c'est pas comment le definire avant la function.

Eléphant du PHP | 369 Messages

22 oct. 2009, 20:36

Salut les gens, ...Re pour certain ;)
Oui voila !
SI je met 17 dans un elseif, pas de problème, sinon cela affiche toujours 1.jpg
<?php
function GradeScore($score)
{
if ($score >= 0 && $score <= 1)
{
echo'<img src="images/score/1.jpg">';
}
elseif ($score > 1 && $score <= 4)
{
echo'<img src="images/score/4.jpg">';
}
elseif ($score > 4 && $score <= 10)
{
echo'<img src="images/score/10.jpg">';
}
elseif ($score >10 && $score <= 15)
{
echo'<img src="images/score/15.jpg">';
}
elseif ($score > 15)
{
echo'<img src="images/score/20.jpg">';
}
else
{
echo'aucun score';
}
}

?>
J'ai une solution qui peut marcher mais dont la logique est à l'inverse de ta source originale...
et des solutions proposées. A toi de voir si celle-ci te convient.
<?php
function GradeScore($score)
{
   // Test de valeur
   //
   echo $score."<br />";

   if ($score <= 15)
   {
      if ($score <= 10)
      {
         if ($score <= 4)
         {
            if ($score <= 1)
            {
                else echo "<img src=\"images/score/1.jpg\" alt=\"\" />\n";
            }
            else echo "<img src=\"images/score/4.jpg\" alt=\"\" />\n";
         }
         else echo "<img src=\"images/score/10.jpg\" alt=\"\" />\n";
      }
      else echo "<img src=\"images/score/15.jpg\" alt=\"\" />\n";
   }
   else echo "<img src=\"images/score/20.jpg\" alt=\"\" />\n";
}
?>
J'ai pas testé, peut-être y a t'il 1 coquille mais l'idée y est.

Bon code @+ ;)

PS: J'ai ajouté quelques éléments en plus... faut pas m'en vouloir lol

EDIT: Téléscopage de nos 2 posts désolé.
A non en faite ! J'ai fait un echo $score et rien, la je ne c'est pas comment le definire avant la function.
Rofl, forcément ca aide po... Bref, initialise ta value et refais l'essai, ca devrait marcher, @+ ;)

Mammouth du PHP | 686 Messages

22 oct. 2009, 23:40

A non en faite ! J'ai fait un echo $score et rien, la je ne c'est pas comment le definire avant la function.
Il faut que tu l'initialise
alors ca peut etre de diverse manières
A toi de nous dire d'ou provient cette variable $score
methode GEt, POST ? base de données ?

Eléphant du PHP | 129 Messages

23 oct. 2009, 09:32

Merci de ton astuce FuZZyLine à tester !
Sylvaing26 la variable $score provient de la base de donnée, je ne voi pas trop comment l'initialiser, chaque utilisateur à son champ score, merci de ton aide !

Avatar du membre
ViPHP
ViPHP | 3008 Messages

23 oct. 2009, 09:39

Ta fonction fonctionne correctement.
<?php

function GradeScore($score)
{
if ($score >= 0 && $score <= 1)
{
echo'<img src="images/score/1.jpg">';
}
elseif ($score > 1 && $score <= 4)
{
echo'<img src="images/score/4.jpg">';
}
elseif ($score > 4 && $score <= 10)
{
echo'<img src="images/score/10.jpg">';
}
elseif ($score >10 && $score <= 15)
{
echo'<img src="images/score/15.jpg">';
}
elseif ($score > 15)
{
echo'<img src="images/score/20.jpg">';
}
else
{
echo'aucun score';
}
}

GradeScore(6);
?>
J'ai bien l'image correspondante à chaque fois. Vérifie que ta variable $score est correcte.

Mammouth du PHP | 686 Messages

23 oct. 2009, 10:57

Merci de ton astuce FuZZyLine à tester !
Sylvaing26 la variable $score provient de la base de donnée, je ne voi pas trop comment l'initialiser, chaque utilisateur à son champ score, merci de ton aide !
Sais tu comment recuperer des valeurs dans une base de données ?
Etablir la requete pour recuperer ce score pour un joueur ...
Ton site est-il deja débuté ?
Car une requete de ce type fais parti des bases du PHP, ne t'attaque pas à trop gros comme projet si tu n'as que quelques notions
Pour établir ta requete nous seront là pour t'aider
Donne nous la structure de ta table, comment récupère tu les données utilisateur
Mais avant tout il faut que l'on sache si tu sais formuler une requete sql

Eléphant du PHP | 129 Messages

23 oct. 2009, 13:18

Oui j'arrive a récuperer des données dans une base sql et établire une ou des requettes !
En faite c'est que je n'arrivai pas à comprendre la façon de le faire avec une function, alors quand faite c'était asser simple.
Le problème est résolut, merci à tous !!!!! :D
$req = mysql_query('SELECT * FROM utilisateur WHERE score');
$score= mysql_fetch_array($req);
function GradeScore($score)
{

Mammouth du PHP | 686 Messages

23 oct. 2009, 14:26

Oui j'arrive a récuperer des données dans une base sql et établire une ou des requettes !
En faite c'est que je n'arrivai pas à comprendre la façon de le faire avec une function, alors quand faite c'était asser simple.
Le problème est résolut, merci à tous !!!!! :D
$req = mysql_query('SELECT * FROM utilisateur WHERE score');
$score= mysql_fetch_array($req);
function GradeScore($score)
{
Parfait c'est tout à fait ca =D>
Hésite pas a revenir en cas de soucis
N'oublie pas de prendre en compte la juste remarque de fab
le code bien comme il faut est comme ceci
<?php
function GradeScore()
{
if ($score >= 0 && $score<=1)
{
echo'<img src="images/score/1.jpg">';
}
elseif ($score<= 4)
{
echo'<img src="images/score/4.jpg">';
}
elseif ($score <=10)
{
echo'<img src="images/score/10.jpg">';
}
elseif ($score<=15)
{
echo'<img src="images/score/15.jpg">';
}
elseif ($score >15)
{
echo'<img src="images/score/20.jpg">';
}
else
{
echo'aucun score';
}
}
?>
 

Eléphant du PHP | 129 Messages

23 oct. 2009, 15:37

Merci Sylvaing26.
En faite j'ai un news problème car il prend le plus haut score qui est enregistrer dans la BD.
Il met bien l'image correspondante, mes pour chaque utilisateur sa sera 17.
Du coup la chez pas trop comment lui dire dans la requette comment prendre juste celui de l'utilisateur, hum, mettre la session dans la requette ?
$req = mysql_query('SELECT * FROM utilisateur WHERE score ='.$_SESSION['joueur'].'');
$score= mysql_fetch_array($req) or die("Erreur SQL : $req<br/>".mysql_error());
Erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Erreur SQL :
Unknown column 'Array' in 'where clause'

ViPHP
fab
ViPHP | 2657 Messages

23 oct. 2009, 16:23

$_SESSION['joueur'] ça a tout l'air d'être un array est pas une simple variable, comment fais tu le lien entre ta base de donnée et l'utilisateur en cours? Je suppose que tu dois stocker en _SESSION l'identifiant ou le nom ?

Dans ta requete pour récupérer les scores il faut que tu fasses ce lien là en tout cas :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 129 Messages

23 oct. 2009, 16:33

Merci Fab, en effet erreur énorme de ma part !
Tout fonctionne, merci encore les gars :D