Syntaxe php

Profil bloqué -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

j'aurai aimé savoir si ma syntaxe étais bonne ( apparemment non puisque sa marche pas ^^ ) :


function color($var1,$var2,$var3)
{
if ($var1<$var2 && $var1<$var3) return false;
return true;
};

$sql = "SELECT contenu FROM infos_tbl WHERE id=1";
	$i_11 = mysql_query($sql);
	$donnees = mysql_fetch_array($i_11);

<a  color = <?php if (color("$i_1","$i_2","$i_3")) echo red ; ?>><? php echo $donnees [contenu]; ?></a>





Seul le fait que la couleur du texte est rouge ou noir ne marche pas. Le reste c'est bon.

Merci d'avance
A voir également:

14 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
Procedes plutot comme ça:

<?php

function color($var1,$var2,$var3){
	if ($var1<$var2 && $var1<$var3){
		$couleur='red';
	} else{
		$couleur='black';
	}
return $couleur;
}
//il ne faut pas de ; après la déclaration de la fonction

$sql = "SELECT contenu FROM infos_tbl WHERE id=1";
	$reponse = mysql_query($sql);
	$donnees = mysql_fetch_array($reponse);
?>
<a  style="color:<?php color($i_1,$i_2,$i_3); ?>"><?php echo $donnees ['contenu']; ?></a>
1
pyschopathe Messages postés 2053 Statut Membre 135
 
Tout à fait, l'utilisation de la balise style est beaucoup mieux que la balise color.
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Essaye ça :
<a  color = <?php if (color("$i_1","$i_2","$i_3")) echo "red" ; else echo "black"; ?> ><? php echo $donnees [contenu]; ?></a>
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Et puis accessoirement, à quoi correspondent $i_1, $i_2 et $i_3 ? Et il faudrait sûrement mettre contenu entre guillemets...
0
Profil bloqué
 
ce sont des variable de chifre.
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Qu'est-ce que tu entends par "des variables de chiffre" ?

Dans ton exemple, tu passes en paramètre de ta fonction des chaînes de caractères contenant les valeurs des variables... Donc au lieu de passer (1, 2, 3), tu vas passer ("1", "2", "3"), ce qui n'est pas une très bonne idée si tu ne fais pas de conversion dans la fonction.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
 
<a  <?php if (color('$i_1','$i_2','$i_3')) echo " color=#ff0000 "; ;?> > bla bla</a>


j'ai essayé comme sa sa ne fonctionne pas non plus.
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Essaie plutôt
color( $i_1, $i_2, $i_3 )
Et enlève le deuxième ; qui est inutile.
0
Profil bloqué
 
psychopathe j'ai pas bien compris ton raisonement.
Mais en fait mes variable contienne des chiffre et je veut que si la variable 1 est plus grande que les deux autre alors le texte s'écrit en rouge .
C'est ma fonction qui est fausse ?
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Ta fonction renvoie vrai si la variable 1 n'est pas plus petite que les deux autres. Elle renvoie donc vrai si la variable 1 est plus petite que la variable 2 ou 3, mais plus grande que l'autre.

Si tu veux que ta fonction renvoie vrai si la variable 1 est la plus grande, il faudrait plutôt faire ça :
function plusGrand( $x, $val1, $val2 ) {
    if ( $x > $val1 && $x > $val2 ) {
        return true;
    }
    else return false;
}


Mais si cette fonction ne sert qu'à afficher une couleur différente dans le cas où la première variable est la plus grande, tu pourrais simplement faire :
function couleur( $x, $val1, $val2 ) {
    if ( $x > $val1 && $x > $val2 ) {
       echo 'color="red"';
    }
    else '';
}

que tu utilises de la manière suivante :
<a href="ce_que_tu_veux" <?php couleur( $a, $b, $c ) ?> >Texte du lien</a>
0
Profil bloqué
 
j'ai fait ce que alin a dit mais sa ne marche pas.
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Quand tu dis que ça ne marche aps, il faudrait nous donner plus de précisions... Qu'est-ce qui ne marche pas ? Quels sont les messages d'erreur ? Est-ce que le code généré (en HTML) correspond à ce qui est attendu ?
0
Profil bloqué
 
Bah y a pas de message d'erreur.
c'est juste que le texte n'est pas rouge quant $var1 est > aux autres
0
Profil bloqué
 
c'est la fonction qui est fausse car quant je lui dis de mettre red en php du genre echo 'red' il me mais le texte en rouge.
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Remplace sa fonction par celle-ci :
function color( $var1, $var2, $var3 ) {
	if ( $var1 > $var2 && $var1 > $var3 ) {
		$couleur = 'red';
	} else {
		$couleur = 'black';
	}
        return $couleur;
}

Et dis-moi si ça marche...
0
Profil bloqué
 
c'est quoi la différence ?
0
pyschopathe Messages postés 2053 Statut Membre 135
 
La mise en page ^^ !

Non, je plaisante, j'ai simplement changé le sens des comparaisons...
0
Profil bloqué
 
ça marche !!!

1.000.000.000.000.000 de merci mec ! trop heureux la ! je peut mourir tranquille maintenant ^^ .
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Je t'en prie, c'était un plaisir ^^ !

Évite de mourir tout de suite quand même, j'imagine que ton site n'est pas terminé ;-p !

Et juste en passant, la prochaine fois, relis le code et essaie de la comprendre, tu gagneras du temps !

Bon courage pour la suite;
0
Profil bloqué
 
Regarde mon site :


http://vbougnol.free.fr/


va dans l'onglet pronostique a gauche et fait le pronostique et regarde ce qui se passe ensuite. Dit moi si c'est cool et si il y a des chose a amélioré.
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Primo, il faudrait corriger les fautes d'orthographe partout, ça ne fait pas sérieux !

Ensuite la page de pronostique, il faudrait changer cette couleur : c'est très inconfortable, j'en ai presque les larmes aux yeux !

J'ai voté 1 à tous les matchs (si tu peux supprimer mon vote, j'ai mis tout ça au hasard, je n'y connais absolument rien !). Une fois que le résultat s'affiche, tu devrais faire en sorte que les tirets qui séparent les deux équipes soient homogènes (soit toujours là, soit jamais, et soit sur toute la longueur, soit sur la moitié, mais pas n'importe comment). De plus tu devrais afficher les moyennes avec un ou deux chiffres après la virgule, pas besoin d'avoir une telle précision.

Voilà, j'espère que ça t'aidera...
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Perso je rajouterait:

faire un pronostic

pronostique c'est l'adjectif : signe pronostique

le verbe pronostiquer
0