Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Formátování textu/buňky při výpisu z databáze

Dělám tabulku tv pořadů na titulkování živě vysílaných (OVM, Hyde Park, hokej etc.).
Vyberu vše z databáze a třeba ve sloupci "potvrzeno" mám 3 různé hodnoty. V návrhu/rozpracováno/schváleno (mohu je ukládat i číselně 1, 2, 3).
Moc by se mi líbilo, kdyby se mi udělalo pozadí buňky podle hodnoty. V návrhu červené, rozpracované oranžové, schválené zelené. Jak se to dělá?

teď to vypisuji úplně obyčejně

$vysledek = mysql_query( 
"SELECT * FROM st_aaa_tabulka
ORDER BY id"
);
die(mysql_error());

/* Konec přímé práce s databází. */

while ($zaznam = mysql_fetch_array($vysledek) ):?>

<tr>
<td width="100"><a><?php echo $zaznam["zanr"]; ?></a></td>
<td width="75"><?php echo $zaznam["kanal"]; ?></td>
<td><?php echo $zaznam["nazev"]; ?></td>
<td width="100"><?php echo $zaznam["datum"]; ?></td>
<td width="75"><?php echo $zaznam["cas"]; ?></td>
<td width="35"><?php echo $zaznam["recnik"]; ?></td>
<td width="75"><?php echo $zaznam["sub"]; ?></td>
<td width="75"><?php echo $zaznam["potvrzeno"]; ?></td>
</tr>

<?php endwhile;?>
Předmět Autor Datum
Sice moc php nerozumím ale asi nějak takhle: <tr style="color:<? If($zaznam["navrh"])echo'#FF0000';…
Gizzer 24.05.2013 07:21
Gizzer
Jo, s tím echem to není špatný nápad, nicméně to opravdu nefunguje. Možná pouze nějaká chyba v synta…
Kráťa 24.05.2013 09:25
Kráťa
to říkal, kdo, že to nefunguje? Ja tam nevidim zadnou hodnotu, což zamena ze to bylo zpracováno, ale…
AZOR 24.05.2013 09:44
AZOR
trochu kultury do toho :) .cervena { background-color: red; } .oranzova { background-color: orange…
wam_Spider007 24.05.2013 10:07
wam_Spider007
Vylézá mi z toho ta nedefinovaná :-( <td class="nedefinovana" width="75">v řešení</td> http://escr…
Kráťa 24.05.2013 10:17
Kráťa
aha, asi to 1/2/3
Kráťa 24.05.2013 10:19
Kráťa
Díky 597x! poslední
Kráťa 24.05.2013 10:21
Kráťa

Sice moc php nerozumím ale asi nějak takhle:

<tr style="color:<? If($zaznam["navrh"])echo'#FF0000';ElseIf($zaznam["rozpracovane"])echo'#FF4500';ElseIf($zaznam["schvalene"])echo'#008000'?>">

Možná je to blbost a vůbec nevím jestli by to takto bylo funkční, jsem na tyto věci ..... :D.
Ale určitě tu bude někdo kdo ti poradí přesně.

Jo, s tím echem to není špatný nápad, nicméně to opravdu nefunguje. Možná pouze nějaká chyba v syntaxi. Dal jsem

<td  style="background-color:<? If($zaznam["navrh"])echo'#FF0000';ElseIf($zaznam["rozpracovane"])echo'#FF4500';ElseIf($zaznam["schvalene"])echo'#008000'?>"width="75"><?php echo $zaznam["potvrzeno"]; ?></td>

a na výstupu se to nezapíše

<td  style="background-color:"width="75">potvrzeno</td>

Napadá mě, jestli z toho $zaznam["potvrzeno"] neudělat novou proměnnou třeba $pozadi s těmi podmínkami a do stylu dávat <td style="$pozadi">

to říkal, kdo, že to nefunguje? Ja tam nevidim zadnou hodnotu, což zamena ze to bylo zpracováno, ale nebyla tam zádna hodnota, me to třebas smysl dává, například já bych tam psal spíše něco takového:

If($zaznam["navrh"])echo'#FF0000';ElseIf  - tohle nedává smysl
If($zaznam["potvrzeno"]=="navrh")echo'#FF0000';ElseIf -- tohle mi smysl dává

Kurna nemuses to jen obsat. Návrh je HODNOTA sloupce POTVRZENO, co jsi psal, ne HARDWAROVEJ SLOUPEC V TABULCE

trochu kultury do toho :)

.cervena {
background-color: red;
}

.oranzova {
background-color: orange;
}

.zelena {
background-color: green;
}

function Farba ($potvrzeno) {
if ($potvrzeno == 1) return 'cervena';
if ($potvrzeno == 2) return 'oranzova';
if ($potvrzeno == 3) return 'zelena';

return 'nedefinovana';
}

<td class="<?php echo Farba($zaznam["potvrzeno"]); ?>">bla</td>

Zpět do poradny Odpovědět na původní otázku Nahoru