Autor Zpráva
luma64
Profil
Zdravim, v časti kódu mám form a v ňom roletu s osobami, z ktorých chcem jednu vybrať. Potrebujem, aby sa zoradili abecedne tak, že v okne rolety sa prvotne zobrazií " - - - " a následne sa zobrazia osoby zoradené v abecednom poradí. Teraz sa roleta vytvorí a zoradí tak, že v jej okne sa ukáže posledná osoba zoznamu a pre výber predchodzích musím rolovať smerom nahor.
Kód vyzerá nasledovne:
Osoba:
    <?php
    $cpquery_osoba = "Select l.osoba , l.id as osoba_id from osoba_zoznam l where l.platny='ANO' order by l.osoba ASC";
    $cpresult_osoba = mysql_query($cpquery_osoba) or die(mysql_error());
    ?>
    
    <select name="osoba" value="osoba">
    <!-- Drop down -->
    <?php
    if($cpresult_osoba) 
    {
        ?>
        <option value="osoba">- - -</option>
        <?php
        while($row_osoba = mysql_fetch_array($cpresult_osoba))
        {
              echo '<option value="' .$row_osoba['osoba_id']. '"'.($_POST["osoba"]==$row_osoba['osoba_id']?' selected':'').'>'. $row_osoba['osoba']. '</option>';
        }
    }
    
    echo "<option value='osoba' ></option>";
    echo "</select>";

Môžte pls pomôcť ?
Lonanek
Profil
ř. 13 upravte:
        <option value="0" selected="selected">- - -</option>
nebo jen:
        <option value="0" selected>- - -</option>
Pozměnil jsem i hodnotu value, protože využíváte id osoby a to je číselná hodnota.

Mělo by však také stačit:
        <option value="0">- - -</option>
a ř. 21 bych úplně vypustil. Jako by měl mít funkci?
luma64
Profil
Ďakujem, žiaľ to čom som potreboval sa nestalo. Mne môj kód zabezpečuje výber aký potrebujem. Išlo a ide mi iba o to, aby sa osoby v rolete zobrazili v abecednom poradí a nech je ako prvotná hodnota " - - - ".
Lonanek
Profil
A jak vypadá výsledný kód po úpravách?
Možno i někde vidět výsledek?

Tak jak je kód uveden v [#1] a upraven podle návrhu, by neměl být žádný problém se správným zobrazením.
Vymazal jste ř.21 uvedeného kódu?
Michales
Profil
luma64:
order by l.osoba DESC
Lonanek
Profil
???
ACS -> třídění vzestupně A-Z
DESC -> třídění sestupně Z-A

Požadavek byl na vzestupné třídění podle abecedy a první záznam v <options> má být - - -
Problém vidím v hodnotě value.
Michales
Profil
luma64:
Zkus to takhle,

  <select name="osoba" class="text" >
        <option selected="selected">- - - </option>

    <?php
   $cpquery_osoba = "Select l.osoba , l.id as osoba_id from osoba_zoznam l where l.platny='ANO' order by l.osoba ASC";
    $cpresult_osoba = mysql_query($cpquery_osoba) or die(mysql_error());

    while($row_osoba = mysql_fetch_array($cpresult_osoba, MYSQL_ASSOC))
        {
echo  '<option value="'.$row_osoba['osoba_id'].'"'.($_POST["osoba"]==$row_osoba['osoba_id']?' selected="selected"':'').'>'.$row_osoba['osoba'].'</option>'."\n";

}
?>
</select>
Lonanek
Profil
luma64:
Opsal jsem Vámi poskytnutý kód na stránky a musím pouze konstatovat, že funguje tak jak potřebujete. Takže kde máte problém?

Testovat to můžete ZDE.
luma64
Profil
Dakujem vsetkym za pomoc, kod od Michalesa mi pomohol.

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: