Avatar billede bullefardk Nybegynder
24. oktober 2005 - 20:11 Der er 8 kommentarer

Skifte Celle Farve

Hej Eksperter.

jeg har dette problem.
Jeg har lavet en tilmeldingsform, og den sætter std. værdien i "bestilt" i mysqldb'en til std som er: halv.
Vil gerne have at hvis eksempelvis: P003 ik er tilmeldt i db'en så skal celle bg'en være grøn.
Hvis den står som: halv (det vil sige når den er bestilt) så skal celle bg være gul, og hvis den står som betalt, så skal celle bg være rød.

Her er hvad jeg er kommet til indtil vidre:

<table border="0" width="33%" id="table86" cellspacing="1">
    <tr>
        <td>
        <table border="1" width="100%" id="table87" bordercolorlight="#000000" bgcolor="#00FF00" cellspacing="0" cellpadding="0">
            <tr>
<?
    $resultat = mysql_query("select * from tilmeldte");
    $bestilt = mysql_num_rows($bestilt);
        if ($bestilt = 'tom') {
        echo "<td bgcolor='#CC0000'>";
    } else {
        echo "<td bgcolor='#00FF00'>";
        }
?>
                <p align="center"><b><font face="Verdana" size="1">P001</font></b></td>
            </tr>
            <tr>
                <td>
                <p align="center"><b><font face="Verdana" size="1">P002</font></b></td>
            </tr>
            <tr>
                <td>
                <p align="center"><b><font face="Verdana" size="1">P003</font></b></td>
            </tr>
            <tr>
                <td>
                <p align="center"><b><font face="Verdana" size="1">P004</font></b></td>
            </tr>
            <tr>
                <td>
                <p align="center"><b><font face="Verdana" size="1">P005</font></b></td>
            </tr>
        </table>


Men den laver fejl. dog hvis der er en celle der står til halv, så er bg gul. og hvis den er tom så er den grøn. kan dog bare ikke få betalt til at virke?

Nogen som kan hjælpe?
Avatar billede bullefardk Nybegynder
24. oktober 2005 - 20:12 #1
P001 er sat til: betalt viser grøn og laver en fejl.
P002 er sat til: halv  viser gul
P003 til P005 er ik i db'en.
Avatar billede jakobdo Ekspert
24. oktober 2005 - 20:21 #2
Prøv at leg med denne:
switch($value)
{
case "P001":
echo "din p001 farve";
break;
case "P002":
echo "din p002 farve";
break;
default:
echo "din standard farve";
}
Avatar billede nielsen2002 Nybegynder
24. oktober 2005 - 20:23 #3
Nu er jeg ikke PHP haj, men kan du ikke lave en lykke som danne dine rækker. så du får f.eks

if ($bestilt = 'halv') {
  echo "<tr><td bgcolor='rød'>Halv</td></tr>";
  }

if ($bestilt = 'dbNull') {
  echo "<tr><td bgcolor='rød'></td></tr>";
  }
Avatar billede nielle Nybegynder
24. oktober 2005 - 20:29 #4
$sql = "DSELECT ditFelt1 FROM dinTabel WHERE ditFelt2='P001'"
$query = mysql_query($sql) or die(mysql_error());

if (mysql_num_rows($query) == 0)
{
    $bgColor = "red";  // P001 er ikke i databasen
}
else
{
    if ($row["ditFelt1"] == "betalt")
    {
        $bgColor = "green";  // P001 er i databasen og den er betalt.
    }
    elseif ($row["ditFelt1"] == "halv")
    {
        $bgColor = "yellow";  // P001 er i databasen og den er bestilt.
    }
}
Avatar billede jgivoni Nybegynder
24. oktober 2005 - 20:29 #5
For hver PXXX laver du et databaseudtræk efterfulgt af dette:

if (mysql_num_rows($bestilt) == 0)
  {
  echo "<td bgcolor='#0FF00'>";
  }
else
  {
  $row = mysql_fetch_assoc($bestilt);
  if ( $row[bestilt] == "halv" )
    echo "<td bgcolor='#CCFF00'>";
  elseif ( $row[bestilt] == "betalt" )
    echo "<td bgcolor='#CC0000'>";
  }

herefter udskriver du indholdet af cellen.
Avatar billede bullefardk Nybegynder
24. oktober 2005 - 20:33 #6
nu skriver den ikke den mysql fejl mere.. men nu laver den en gul celle foran den grønne. og så står P002 stadig som grøn :s
Avatar billede nielle Nybegynder
24. oktober 2005 - 20:35 #7
Hvilken kode referer du til?
Avatar billede nielle Nybegynder
05. november 2005 - 08:38 #8
Hvad med noget respons?
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

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