| 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: 13 let
|
|||
0