Creer une fonction

Résolu
Bonjour,

Je voudrais que la couleur d'une case de mon tableau change en fonction du secteur qu'il retourne.

J'ai fais cette fonction : function color (sec) {
if (sec == "G 12"){
$color = "#FFFF00";
}
else {
$color = "";
}
return $color;
}

et je l'appel avec :
function color($secA);

Mais il ne se passe rien, pouvez-vous m'aider svp

5 réponses

  1. Bonjour,

    Normalement tu devrais avoir une variable $sec dans ta fonction et non pas sec tout court. Cette syntaxe est celle d'une fonction javascript.
    1. Merci pour ta réponse.
      La variable en argument doit être identique à la variable du résultat de la requête ?
      1. <?php
        function color ($sec) {
        	if($sec == "G 12") {
        		$color = "#FFFF00";
        	} else {
        		$color = "";
        	}
        	return $color;
        }
        echo color($secA);
        ?>
    2. salut faut faire ca :

      J'ai fais cette fonction : function color ($sec) {
      if ($sec == "G 12"){
      $color = "#FFFF00";
      }
      else {
      $color = "";
      }
      return $color;
      }

      l'appeler avec :
      echo color("G 12");
      1. function color ($sec) {
        if($sec == "G 12") {
        $color = "#FFFF00";
        } else {
        $color = "#FF0000";
        }
        return $color;
        }

        echo color($secA);

        <td style=\"background-color: ".$color.";\">

        Ca devrait me mettre la couleur la non ? Parce que du coup mon tableau ne s'affiche plus du tout
        1. remplace
          echo color($secA);

          <td style=\"background-color: ".$color.";\">

          par

          <td style=\"background-color: ". echo color("red").";\">

          apres je vois pas où est ton echo
          a adapter donc..
          1. ton <td style=\"background-color: ".$color.";\"> est dans une balise PHP ou HTML ?
          2. Dans une balise php mais il n'y a pas de problème la dessus.

            Sans fonction, ca marche :
            if ($secA == "G 04") {
            $color = "#FFFF00 ";}
            elseif ($secA == "G 06"){
            $color = "#99FF32 ";}
            elseif ($secA == "G 07"){
            $color = "#00FFFF ";}
            elseif ($secA == "G 08"){
            $color = "#FFCC00 ";}
            elseif ($secA == "G 09"){
            $color = "#FF32CB ";}
            else {
            $color = "#FFCB99 ";}

            Mais avec fonction ca marche pas :
            function color ($sec) {
            if ($secA == "G 04") {
            $color = "#FFFF00 ";}
            elseif ($secA == "G 06"){
            $color = "#99FF32 ";}
            elseif ($secA == "G 07"){
            $color = "#00FFFF ";}
            elseif ($secA == "G 08"){
            $color = "#FFCC00 ";}
            elseif ($secA == "G 09"){
            $color = "#FF32CB ";}
            else {
            $color = "#FFCB99 ";}
            return $color;
            }

            echo color($secA);

            Affichage : <td style=\"background-color: ".$color.";\">".$secA."</td>
          3. Tu peux copier coller le code de ta page entiere stp ? Avec le tableau et tout merci
          4. if ( $ville != null ){

            (fonction désactivée le temps du problème)
            _______________________________________________________________________
            // function color ($sec) {
            // if ($secA == "G 04") {
            // $color = "#FFFF00 ";}
            // elseif ($secA == "G 06"){
            // $color = "#99FF32 ";}
            // elseif ($secA == "G 07"){
            // $color = "#00FFFF ";}
            // elseif ($secA == "G 08"){
            // $color = "#FFCC00 ";}
            // elseif ($secA == "G 09"){
            // $color = "#FF32CB ";}
            // else {
            // $color = "#FFCB99 ";}
            // return $color;
            // }

            // echo color($secA);

            _______________________________________________________________________

            if ($secA == "G 04") {
            $colorA = "#FFFF00 ";
            }
            elseif ($secA == "G 06"){
            $colorA = "#99FF32 ";
            }
            elseif ($secA == "G 07"){
            $colorA = "#00FFFF ";
            }
            elseif ($secA == "G 08"){
            $colorA = "#FFCC00 ";
            }
            elseif ($secA == "G 09"){
            $colorA = "#FF32CB ";
            }
            else {
            $colorA = "#FFCB99 ";
            }

            if ($secE == "I02") {
            $colorE = "#F7A786";
            }
            elseif ($secE == "I03") {
            $colorE = "#E9F471";
            }
            else {
            $colorE = "#CBDCEC";
            }

            echo "var oDiv = document.getElementById('resultatville');";
            echo "oDiv.innerHTML = '<table border align=\"center\" width=\"910px\" height=\"150px\"><tr><th colspan = 4>".$ville."</th></tr><tr><td width=\"225\" rowspan = 2><img width=\"128\" height=\"150\" border=\"0\" src=\"img/carteadulte1.JPG\"></td><td width=\"227\" >Adulte</td><td width=\"228\" rowspan = 2><img width=\"125\" height=\"150\" border=\"0\" src=\"img/carteenfant1.JPG\"><td font-color=\"blue\" width=\"227\">Enfant</td></tr><td <td style=\"background-color: ".$colorA.";\">".$secA."</td><td style=\"background-color: ".$colorE.";\">".$secE."</td></tr></table>'";

            }

            Comme ca, ca marche tres bien pourtant
          5. Au pire je vais faire sans fonction, j'aurais juste un peu de code en plus sachant qu'il faut réaliser l'opération 4 fois mais ca va le faire quand même.

            Merci beaucoup pour votre aide en tout cas ;)