Autor Zpráva
moom
Profil
Lidi zlatí, jsem začátečník v PHP a rád bych vás požádal o radu.
Mám tento kód, který mně generuje položky seznamu li.
Tedy pokud existuje daná informace.

Problém je, že pokud neexistuje vytvoří se mně prázdný UL obal.
No a přemýšlím, jak udělat, aby se vytvořil UL pouze pokud má
položky LI. A na to jsem už úplně blbej. Mohl bych přidat UL za echo,
ale to bych pak měl několik seznamů UL s jednou položkou LI.

Máte prosím nějakou radu? Prosím, prosím

<ul>
    <?php
    if (get_post_meta($post->ID, 'Vlajka autor', true)) {
        $vlajka_autor = get_post_meta($post->ID, 'Vlajka autor', true);
        echo "<li>Vlajka" . "<br><strong>" . $vlajka_autor . "</strong></li>";
    }
    if (get_post_meta($post->ID, 'Vlajka datum', true)) {
        $vlajka_datum = get_post_meta($post->ID, 'Vlajka datum', true);
        echo "<li>Datum" . "<br><strong>" . $vlajka_datum . "</strong></li>";
    }
    ?>
</ul>
Monkeys
Profil *
moom:

asi by som dal generovat <ul> zoznam spolocne s tym li v kazdom echu

M.
mimochodec
Profil
Můžeš třeba místo každého toho echa dát $lis .= "<li>Vlajka</li>"; a až projdeš všechny ify, vypíšeš ul jen v případě, že v $lis něco bude.
//edit: a v tom ul samozřejmě vypíšeš echo $lis;.
moom
Profil
Monkeys: děkuji, ale to bych zrovna nechtěl, mít několik UL seznamů s jednou položkou

mimochodec: Děkuji za popokopnutí, ale jsem mimo, zdá se mně to logické,
ale asi bych potřeboval ještě jednou nakopnout, nemůžete mně to prosím ukázat trošku
konkrétněji, prosím, prosím
mimochodec
Profil
moom:
Na začátku máš prázdnou proměnnou $lis. Pak následuje tvých pár ifů, v každém z nich k $lis přidáš co potřebuješ (to je to .=), když je podmínka splněna. Po všech těch ifech následuje if, který ověří, jestli je ta proměnná $lis neprázdná. Pokud je, vypíšeš "<ul>".$lis."</ul>".
moom
Profil
mimochodec:
Ok, jdu to testovat, pokud budu bezradný, tak se zase ozvu :)
Každopádně děkuji. Ani jsem netušil, že existuje operátor .=
ale už jsem našel na webu, že to je připojení řetězce k téže proměnné, uf... :)


mimochodec: jsem mimo... netuším, jsem úplně blbej...
Vůbec nevím jak to napsat, aby to fungovalo, natož jak ověřit, jestli
$lis je neprázdná...
mimochodec
Profil
    $lis = "";
    if (get_post_meta($post->ID, 'Vlajka autor', true)) {
        $vlajka_autor = get_post_meta($post->ID, 'Vlajka autor', true);
        $lis .= "<li>Vlajka<br><strong>".$vlajka_autor."</strong></li>";
    }
    ..
    ..
    if ($lis != "") {
        echo "<ul>".$lis."</ul>";
    }
A ještě bych dodal, že se mně nelíbí to dvojí volání funkce. Voláš funkci, pak když je něco splněno, voláš ji znovu. Zamysli se nad tím.

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: