par
yaug » 04 déc. 2008, 11:22
Bonjour.
Pour commencer, il est nécessaire d'éviter d'écrire "<?" et lui préférer "<?php".
Si les 2 fonctionnent, le premier n'est pas toujours supporté.
Quand à ton code, voici ce que j'aurais fait :
<?php
//On fait notre requete
$query = "SELECT YYYY FROM XXXX WHERE id=1";
$rsc = mysql_query($query);
//On prépare notre balise
$balise = '<span style="color:';
//On ajoute la bonne couleur
$res = mysql_fetch_assoc($rsc))
if($res['YYYY'] == 'available') $balise .= 'green';
else $balise .= 'red';
//On complète la balise et on la ferme
$balise .= ' ">'.$res['YYYY'].'</span>';
echo $balise;
?>
Quelques conseils :
1.
J'ai remarqué que tu fais $thef == 'AVAILABLE'.
Hors $thef est un tableau (vu que tu utilises la fonction mysql_fetch_array().
2.
Tu utilise mysql_fetch_array() mais apres tu fais $thef["availability"];
Ce n'est pas possible.
Mysql_fetch_array() renvoi un tableau dont les clés sont numérique : $thef[0], $thef[1] ...
Pour pouvoir faire ce que tu voulais, il faut utiliser mysql_fetch_assoc qui lui utilisera tes champs comme clés de ton tableau.
3.
Tu fais un "SELECT *", si tu n'as que quelques champs à récupérer, fait plutot un "SELECT champ1, champ2 ...", cela consommera moins de ressources.
Ce n'est pas obligatoire mais c'est une bonne habitude à prendre.
Bonjour.
Pour commencer, il est nécessaire d'éviter d'écrire "<?" et lui préférer "<?php".
Si les 2 fonctionnent, le premier n'est pas toujours supporté.
Quand à ton code, voici ce que j'aurais fait :
[php]
<?php
//On fait notre requete
$query = "SELECT YYYY FROM XXXX WHERE id=1";
$rsc = mysql_query($query);
//On prépare notre balise
$balise = '<span style="color:';
//On ajoute la bonne couleur
$res = mysql_fetch_assoc($rsc))
if($res['YYYY'] == 'available') $balise .= 'green';
else $balise .= 'red';
//On complète la balise et on la ferme
$balise .= ' ">'.$res['YYYY'].'</span>';
echo $balise;
?>
[/php]
[b]Quelques conseils : [/b]
1.
J'ai remarqué que tu fais $thef == 'AVAILABLE'.
Hors $thef est un tableau (vu que tu utilises la fonction mysql_fetch_array().
2.
Tu utilise mysql_fetch_array() mais apres tu fais $thef["availability"];
Ce n'est pas possible.
Mysql_fetch_array() renvoi un tableau dont les clés sont numérique : $thef[0], $thef[1] ...
Pour pouvoir faire ce que tu voulais, il faut utiliser mysql_fetch_assoc qui lui utilisera tes champs comme clés de ton tableau.
3.
Tu fais un "SELECT *", si tu n'as que quelques champs à récupérer, fait plutot un "SELECT champ1, champ2 ...", cela consommera moins de ressources.
Ce n'est pas obligatoire mais c'est une bonne habitude à prendre.