Syntaxe php

Fermé
Profil bloqué - 25 févr. 2009 à 20:31
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 26 févr. 2009 à 10:03
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 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
25 févr. 2009 à 21:03
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 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 21:07
Tout à fait, l'utilisation de la balise style est beaucoup mieux que la balise color.
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 20:36
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 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 20:43
Et puis accessoirement, à quoi correspondent $i_1, $i_2 et $i_3 ? Et il faudrait sûrement mettre contenu entre guillemets...
0
Profil bloqué
25 févr. 2009 à 20:49
ce sont des variable de chifre.
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 20:54
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é
25 févr. 2009 à 20:50
<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 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 20:56
Essaie plutôt
color( $i_1, $i_2, $i_3 )
Et enlève le deuxième ; qui est inutile.
0
Profil bloqué
25 févr. 2009 à 20:56
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 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 21:05
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é
25 févr. 2009 à 21:15
j'ai fait ce que alin a dit mais sa ne marche pas.
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 21:21
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é
25 févr. 2009 à 21:25
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é
25 févr. 2009 à 21:31
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 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 21:38
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é
25 févr. 2009 à 21:42
c'est quoi la différence ?
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 21:45
La mise en page ^^ !

Non, je plaisante, j'ai simplement changé le sens des comparaisons...
0
Profil bloqué
25 févr. 2009 à 21:48
ça marche !!!

1.000.000.000.000.000 de merci mec ! trop heureux la ! je peut mourir tranquille maintenant ^^ .
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
25 févr. 2009 à 21:59
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é
25 févr. 2009 à 22:32
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 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
26 févr. 2009 à 00:01
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 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 févr. 2009 à 10:03
Perso je rajouterait:

faire un pronostic

pronostique c'est l'adjectif : signe pronostique

le verbe pronostiquer
0