Autor | Zpráva | ||
---|---|---|---|
cheffreelancer Profil * |
#1 · Zasláno: 16. 8. 2013, 09:24:40
Dobrý den
Chtěl bych při vytváření kategorie aby si uživatel mohl vybrat buď aby kategorie byla hlavní a nebo byla podkategorií, a při editaci kategorie aby si mohl vybrat jen hlavní kategorie do kterých by ji chtěl popřípadě přesunout a nemohl si vybrat tu samou kategorii kterou edituje. Zkoušel jsem první fázy udělat takto: function CategorySelectList(){ $select_kategorie = ""; $id=NULL; $sql=mysql_query("SELECT * FROM `rubriky` WHERE `parent`='$id'") or die (mysql_error()); while($obsah = mysql_fetch_array($sql)){ $select_kategorie .= '<option value="'.$obsah['id'].'">'.$obsah['id'].' - '.$obsah['name'].'</option>'; } return $select_kategorie; } tu druhou fázy chci mít ve stejné funkci, říkal jsem si že bych to pak vypodmínkoval, ale nevím kde zde mám problém protože se mi nic neukáže. jinak v databázi mám tabulku takto id (doplni se automaticky), parent (NULL je hlavní kategorie, ostatní jsou podkategorie), name (název kategorie). Děkuji za každou vaši radu! |
||
juriad Profil |
Rozlišuj v databázi NULL a 'NULL'. První má význam nevyplněné/chybějící hodnoty, druhé je řetězec skládající se ze čtyř znaků N, U, L, L.
A je mezi nimi sakra rozdíl. Pokud do databáze pokládáš dotaz a v podmínce máš číselný sloupec, neporovnávej jeho hodnotu s řetězcem. "SELECT * FROM `rubriky` WHERE `parent`=$id" Pokud porovnáváš s hodnotou NULL, musíš použít operátor IS místo rovná se. Například `parent` IS NULL
Ta funkce navíc dělá dvě věci najednou (pokládá dotaz a z výsledku generuje <select>. Rozděl to, tím si oddělíš práci s daty od jejich prezentace (zobrazení). Tady byla funkce, ve které jsem měl chybu, opravená a rozšířená verze je zde function GenerateCategorySelect($categories, $name, $id='', $class='') { $select = ''; $select .= '<select name="'.$name.'"'; if(!empty($id)) { $select .= ' id="'.$id.'"'; } if(!empty($class)) { $select .= ' class="'.$class.'"'; } $select .= '>'; foreach($categories as $category) { $select .= '<option value="'.$category['id'].'">'.$category['id'].' - '.$category['name'].'</option>'; } $select .= '</select>'; } |
||
cheffreelancer Profil * |
#3 · Zasláno: 16. 8. 2013, 11:30:25
juriad:
Děkuji moc za vaši radu:) ihned vyzkouším. |
||
Časová prodleva: 11 let
|
0