Autor Zpráva
Adam501
Profil
Ahoj.
Vytáhnul jsem data z databáze a chtěl bych je nějak zkontrolovat. Nějak aby to návštěvník neviděl.
Dám konkrétní příklad:
www.vkmadeta.wz.cz --- na hlavní stránce je nejlbližší zápas a abych to nemusel přepisovat, udělal jsem to pomocí databáze, teď akorát potřebuju, když to je doma, aby se to obarvilo namodro a když to bude venku, nebo prostě jinde, tak na zeleno.

Zkusil jsem tohle:
if($kde==doma) {echo "color=\"blue\">";}
       else {echo "color=\"green\">";}


$kde je sloupec. Nevím jestli se název sloupce dá použít jako proměnná, s tím, že se použije jeho obsah.

Na zeleno se to obarví, ale na modro už ne, takže se neplní podmínka. Jak mám tedy zapsat sloupec do podmínky, aby se použil obsah? Díky, jestli je chyba někde jinde, tak taky prosím řekněte...
Medvídek
Profil
Asi nějak takto, ne?
$dotaz=mysql_query("SELECT kde FROM tabulka ....");
$data=MySQL_Fetch_Array($dotaz);
if($data["kde"]=="doma")


Ale ty ho přeci na stránce vypisuješ (obsah toho sloupce), tak přeci nemůže být tak těžký, udělat tu podmínku :)
joe
Profil
Záleží co máš v té proměnné $kde a jak ji získáváš. Jinak to, co napsal Medvídek, jen s tím, že místo " napíšeš '
Medvídek
Profil
joe:
Nevidim problém s uvozovkama, proč používat apostrofy?
Adam501
Profil
ne já vypisuju všechny sloupce, ale to je fuk...Já v podstatě tou podmínkou doplňuju řádek s fontem:
<font size="4" <?php if($kde==doma) {echo "color=\"blue\">";}
                                           else {echo "color=\"green\">";} ?>


Pak je teprve samotný výpis slova.

Napadlo mě, kdyby před zápis phpka napsal
$kde = $data["kde"]

Co myslíte, že by to udělalo?
Keeehi
Profil
Adam501:
1) doma si obal do apostrofů (') nebo uvozovek ("). Takto to znamená konstantu doma, kterou ale nikde před tím nevytváříš. Obalením Z toho vznikne řetězec a to ty potřebuješ.
2) Je blbost kopírovat do proměnné $kde proměnnou $data["kde"], vždyť přece rovnou můžeš používat proměnnou $data["kde"].

<font size="4" <?php if($data["kde"]=="doma") {echo "color=\"blue\">";}
                                           else {echo "color=\"green\">";} ?>>text</font>

případně by se to dalo zapsat takto:
<span class="zapas <?php echo $data["kde"]=="doma"?"modra":"zelena"; ?>">text</span>

+ css
.zapas {
    font-size: 1.2em;
}

.modra {
    color:blue;
}

.zelena {
    color:green;
}
joe
Profil
Medvídek:
Problém není, rozdíl je v tom, že v ".." (uvozovkách) se parsují proměnné narozdíl od '..' (apostrofů).
Adam501
Profil
Keeehi:
No myslel jsem, že použiju sloupec jako proměnnou, kde obsah sloupce bude obsah proměnné.
Díky, akorát mám podmínku dříve než samotný výtah z databáze, vadí to?
Keeehi
Profil
Adam501:
To bude určitě vadit. Podle čeho by se to asi mělo rozhodovat, když jste ještě ty data nezískal?
Adam501
Profil
To mě taky napadalo, třeba program přejede stránku ze shora dolu a udělá vše co může a potom to vezme ještě jednou a dodělá to, co nemá. :) Docela naivní. No nic přesunu výcuc na to a snad to půjde.
Keeehi
Profil
Adam501:
Když budeš vařit podle receptu, ale proházíš pořadí, tak ti taky nevznikne to, co by jsi očekával.
Adam501
Profil
Díky. Funguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0