Créer une function

Répondre
mars77
le 03/07/2007 à 18:30
mars77
Bonsoir a tous,

j'essaye d'écrire une function pour mon site car cela me prendrai trop de place autrement.

C'est la première fois que je fais ce genre de function avec if et elseif.
<?
function essai($couleur){
if($row2["status"]=="En cours" and $row2["delai"]> $ladatejour)
{
echo'<td colspan="2" class="mm4" bgcolor="#0099FF">';
}
elseif($row2["status"]=="En cours" and $row2["delai"]< $ladatejour){
echo'<td colspan="2" class="mm4" bgcolor="#FFCC00">';
}
else{
echo'<td colspan="2" class="mm4" bgcolor="#00FF00">';
}
return($couleur);
}
?>


mais cela ne fonctionne pas.es ce que quelqu'un peu m'aider. Merci pour votre aide.
mars77
LA GLOBULE
le 03/07/2007 à 18:45
LA GLOBULE
Oui, les variables $row2 et $ladatejour sont inconnues dans ta fonction.

Il faut que tu les lui passes en paramètres.
mars77
le 03/07/2007 à 18:52
mars77
elles ont des paramétres plus haut dans ma page.
$ladatejour= date("Y-m-d");
// et
$select = "select * FROM mandat ORDER BY mandate Desc ";
$result1 = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
if($resultat1) {
while($row2 = mysql_fetch_array($result1)) {


donc il est pas la le prob
mars77
moogli
le 03/07/2007 à 19:22
moogli
salut,

relit le tuto sur les fonctions :)

ou ceci.

Il s'agit de prtée des variables !

@
Il en faut peu pour être heureux !!!!!
LA GLOBULE
le 03/07/2007 à 19:55
LA GLOBULE
donc il est pas la le prob


Mes 7 ans de PHP quotidien me donnent envie de dire qu'il est là le problème...
mars77
le 03/07/2007 à 20:29
mars77
oui je pense aussi mais comment faire dans ma fonction avec if et elseif
je trouve pas d'exemple :
mars77
LA GLOBULE
le 03/07/2007 à 20:31
LA GLOBULE
Ben déclare ta fonction comme ceci :

<?php
function essai($couleur, $row2, $ladatejour) {
if($row2["status"]=="En cours" and $row2["delai"]> $ladatejour)
{
echo'<td colspan="2" class="mm4" bgcolor="#0099FF">';
}
elseif($row2["status"]=="En cours" and $row2["delai"]< $ladatejour){
echo'<td colspan="2" class="mm4" bgcolor="#FFCC00">';
}
else{
echo'<td colspan="2" class="mm4" bgcolor="#00FF00">';
}
return($couleur);
}
?>
mars77
le 04/07/2007 à 11:07
mars77
Bonjour a tous et merci pour votre aide.

Voilà j'ai enfin réussi ma function.Elle est différente de ce que m'a donné GLOBULE
le code de ma fonction:

<?php
function couleur_ligne () {
global $ladatejour;
global $status;
global $delai1;

if($status=="En cours" and $delai1 > $ladatejour)
{
echo'<tr bgcolor="#00FF00" >';
}
elseif($status=="En cours" and $delai1< $ladatejour){
echo'<tr bgcolor="#FFCC00">';
}
else{
echo'<tr bgcolor="#0099FF" >';
}
}

couleur_ligne();
?>


Sur ma page ou j'affiche le résultat de défini comme cela :
<?php
$select = "select * FROM mandat ORDER BY mandate Desc ";
$result1 = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
while($row2 = mysql_fetch_array($result1)) {
$status=$row2["status"];
$delai1=$row2["delai"];
$ladatejour= date("Y-m-d");
}
?>


et pour afficher ma ligne qui va changer de couleur selon les informations dans delai et status :
<?php couleur_ligne();?>


Encore merci pour vos infos et votre aide
mars77
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours