Autor Zpráva
ThomasB
Profil *
Ahoj, mam rozbalovaci nabidku, ale pri dotazu

$result=mysql_query("SELECT * from kategorie order by (id='1') DESC, name");

se na prvni pozici zobrazi id='1' a pak 'name', ale nedovedu porad na to prijit, proc se oznacuje jako vychozi hodnota pro select az posledni hodnota, kdyz vychozi hodnota ma byt podle dotazu "id=1'. Nevite prosim nekdo, kde mam chybu??? Diky
FantomX1
Profil
$result=mysql_query("SELECT * from kategorie WHERE id=1 order by id DESC, name");

takto je to logickejsie, obmedzujes klauzulou WHERE aj ked nevidim zmysel usporiadavat podla id ak je to jedinecny kvalifikator a vyberas len jeden klauzulou WHERE
Peca
Profil
Výchozí hodnota v selectu se sama nenastavuje. Musí se k výchozímu option ručně doplnit atribut selected.
ThomasB
Profil *
Peca

A v tomto pripade to bude jak?

function kategorie ($zvoleno){
$result=mysql_query("SELECT * from kategorie order by (id='1') DESC, name");
while ($row=mysql_fetch_array($result)):
if ($row["kategorie"]==$zvoleno)
$options.="<option value=\"".$row["id"]."\" selected>".$row["name"]."</option>\n";
else
$options.="<option value=\"".$row["id"]."\">".$row["name"]."</option>\n";
endwhile;
return $options;
}
Peca
Profil
Tento skript zvýrazní položku $zvoleno. Nemusí to být nutně id=1.
Přepiš tu podmínku na
if ($row["id"]==1')
ThomasB
Profil *
Peca

Dekuji. Skolacka chybicka :o)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0