Avatar billede gedekid Nybegynder
31. januar 2005 - 09:13 Der er 6 kommentarer og
1 løsning

Noget if-sætning i en funktion

Hej,

jeg har dette stykke kode, som en venlig sjæl herpå hjalp mig med:

$i = 1;
$antal = 12;

    while ($row = mysql_fetch_array($result)) {
        {
        if ($i == 1) {
            $color = "green";
           
        } else if ($i == 2 || $i == 3) {
            $color = "orange";
        } else if ($i == $antal - 1 || $i == $antal){
            $color = "red";
          } else {
            $color = "#cccccc";
    }

Koden bruges til at farve en ligatabel. Således at 1. pladsen er grøn, 2. og 3. pladsen og orange og så fremdeles. Mit spørgsmål er så som følger, kan jeg smide dette kode i en funktion der f.eks. hedder color_superligaen() og så lave en if-sætning der siger at hvis leagueID = 1 så skal den hente color_superligaen, hvis leagueID = 2 skal den hente color_bundesligaen osv. ?

Håber I kan hjælpe!

Hele den fulde kode der bruges er således:

---------------------------------------------------

$i = 1;
$antal = 12;

    while ($row = mysql_fetch_array($result)) {
       
        if ($i == 1) {
            $color = "green";
           
        } else if ($i == 2 || $i == 3) {
            $color = "orange";
        } else if ($i == $antal - 1 || $i == $antal){
            $color = "red";
          } else {
            $color = "#cccccc";
    }
   
        echo "
        <tr>
        <td bgcolor=".$color.">". $row['team'] ."</td>
        <td bgcolor=".$color.">". $row['matches'] ."</td>
        <td bgcolor=".$color.">". $row['won'] ."</td>
        <td bgcolor=".$color.">". $row['draw'] ."</td>
        <td bgcolor=".$color.">". $row['lost'] ."</td>
        <td bgcolor=".$color.">". $row['goalsf'] ."</td>
        <td bgcolor=".$color.">". $row['goalsa'] ."</td>
        <td bgcolor=".$color.">". $row['goaldif'] ."</td>
        <td bgcolor=".$color.">". $row['points'] ."</td>
        </tr>
        ";
       
        $i++;

--------------------------------------------------
Avatar billede moocher Nybegynder
31. januar 2005 - 09:26 #1
$i = 1;
$antal = 12;

    while ($row = mysql_fetch_array($result)) {
     
        if ($i == 1) {
            $color = "green";
         
        } else if ($i == 2 || $i == 3) {
            $color = "orange";
        } else if ($i == $antal - 1 || $i == $antal){
            $color = "red";
          } else {
            $color = "#cccccc";
   
 
        echo "
        <tr>
        <td bgcolor=".$color.">". $row['team'] ."</td>
        <td bgcolor=".$color.">". $row['matches'] ."</td>
        <td bgcolor=".$color.">". $row['won'] ."</td>
        <td bgcolor=".$color.">". $row['draw'] ."</td>
        <td bgcolor=".$color.">". $row['lost'] ."</td>
        <td bgcolor=".$color.">". $row['goalsf'] ."</td>
        <td bgcolor=".$color.">". $row['goalsa'] ."</td>
        <td bgcolor=".$color.">". $row['goaldif'] ."</td>
        <td bgcolor=".$color.">". $row['points'] ."</td>
        </tr>
        ";
     
        $i++;
}
Avatar billede moocher Nybegynder
31. januar 2005 - 09:28 #2
$i = 1;
$antal = 12;

    while ($row = mysql_fetch_array($result)) {
     
        if ($i == 1) {
            $color = "green";
         
        } else if ($i == 2 || $i == 3) {
            $color = "orange";
        } else if ($i == $antal - 1 || $i == $antal){
            $color = "red";
          } else {
            $color = "#cccccc";
    }
 
        echo "
        <tr>
        <td bgcolor=".$color.">". $row['team'] ."</td>
        <td bgcolor=".$color.">". $row['matches'] ."</td>
        <td bgcolor=".$color.">". $row['won'] ."</td>
        <td bgcolor=".$color.">". $row['draw'] ."</td>
        <td bgcolor=".$color.">". $row['lost'] ."</td>
        <td bgcolor=".$color.">". $row['goalsf'] ."</td>
        <td bgcolor=".$color.">". $row['goalsa'] ."</td>
        <td bgcolor=".$color.">". $row['goaldif'] ."</td>
        <td bgcolor=".$color.">". $row['points'] ."</td>
        </tr>
        ";
     
        $i++;
}
Avatar billede gedekid Nybegynder
31. januar 2005 - 10:53 #3
Det virker ikke helt, desværre!
Hele koden på leagues.php er som følger:

---------------------------------------

<?php
require("../functions.php");

    $result = mysql_query("SELECT leagues.*, standings.*
                        FROM leagues, standings
                        WHERE leagues.leagueID = ". $_GET[leagueID] ." AND standings.leagueID = leagues.leagueID
                        ORDER BY points DESC, goaldif DESC") or die(mysql_error());     

$i = 1;
$antal = 12;

        while($row = mysql_fetch_array($result)) {
       
            if ($i == 1) {
                $color = "green";
            }
            else if ($i == 2 || $i == 3 || $i == 4) {
                $color = "orange";
            }
            else if ($i == $antal - 1 || $i == $antal){
                $color = "red";
              }
            else {
              $color = "#cccccc";
      }
?>
        <tr>
        <td bgcolor="<?php print $color; ?>"><?php print $row['team']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['matches']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['won']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['draw']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['lost']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['goalsf']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['goalsa']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['goaldif']; ?></td>
        <td bgcolor="<?php print $color; ?>"><?php print $row['points']; ?></td>
        </tr>

<?php 
$i++
?>
<?
}
mysql_close();
?>

------------------------------------------------------

funktionen med if sætningen skal være afhængig af det leagueID den får fat i med $_GET

Så det er det her:

$i = 1;
$antal = 12;

    while ($row = mysql_fetch_array($result)) {
     
        if ($i == 1) {
            $color = "green";
         
        } else if ($i == 2 || $i == 3) {
            $color = "orange";
        } else if ($i == $antal - 1 || $i == $antal){
            $color = "red";
          } else {
            $color = "#cccccc";
    }

jeg skal ha' hentet ud fra min functions.php i en funktion
Avatar billede gedekid Nybegynder
31. januar 2005 - 10:54 #4
$antal er antallet af hold i den bestemte liga.
Avatar billede wordwrap Nybegynder
31. januar 2005 - 13:39 #5
while ($row = mysql_fetch_array($result)) {

if ($_GET[leagueID] == 1){
$color = array('green','orange','#cccccc');}
elseif($_GET[leageID] == 2){
$color = array('#cccccc','green','orange');}       
        if ($i == 1) {
            $color = $color[0];
           
        } else if ($i == 2 || $i == 3) {
            $color = $color[1];
        } else if ($i == $antal - 1 || $i == $antal){
            $color = "red";
          } else {
            $color = $color[2];
    }





Noget i den stil du mener ?? skal så laves et nyt array for de forskellige leagueID der nu engang kan være mulighed for
Avatar billede wordwrap Nybegynder
31. januar 2005 - 13:49 #6
wups...

elseif($_GET[leageID] == 2){ skal self være: elseif($_GET[leagueID] == 2){
Avatar billede gedekid Nybegynder
28. september 2006 - 11:14 #7
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester