Autor Zpráva
gully
Profil
Ahoj všem.

Potřebuji na základě hodnoty parametru URL "D1", který mám uložený pomocí $D1 = $_GET['D1'] v proměnné, nastavit v rolovacím menu příslušnou položku jako výchozí, ale daří se mi nastavit pouze první podmínu, tedy když $D1 není inicializována. Pro zbývající dvě podmínky se vždy nastaví první uvedená, tedy if ($D1='P'). Mohli byste mi prosím poradit, co dělám špatně?

<select name="D1" size="1">
           <?php
             if (!isset($D1))
             {
                echo "<option selected value=''>Vyber hodnotu</option>";
                echo "<option value='P'>Příjem</option>";
                echo "<option value='V'>Výdej</option>";
             }
             else 
             if ($D1='P')
             {
                echo "<option value=''>Vyber hodnotu</option>";
                echo "<option selected value='P'>Příjem</option>";
                echo "<option value='V'>Výdej</option>";
             }
             else
             if ($D1='V')
             {
                echo "<option value=''>Vyber hodnotu</option>";
                echo "<option value='P'>Příjem</option>";
                echo "<option selected value='V'>Výdej</option>";
             } */
           ?>
</select>
okolojdouci
Profil *
if ($D1=='P')
if ($D1=='V')
Tori
Profil
Dá se to napsat i bez opakování, když použijete něco podobného:
echo "<option value='P'" . ($D1 == 'P' ? ' selected' : '') . ">Příjem</option>";
Konstrukce (podmínka ? něco : něco_jiného) viz ternární operátor.
gully
Profil
Aha :-), bohužel těžké návyky z pascalu.

O ternálních operatorech jsem už slyšel, ale nikdy jsem je zatím nepoužil, takze nyní konečně mohu. I když zápis není na na první pohled tak zřejmý, jako u klasického zápisu, šetří poměrně dosti místa a při častějším používání si člověk jistě zvykne.

Za obě užitečné rady velmi děkuji.

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