sql >> Databáze >  >> RDS >> Mysql

Jak mohu použít $_get s funkcí build_categories_options

Pro každou kategorii zobrazujete dvě možnosti, prázdnou možnost a jednu s informacemi o kategorii:

$category_string .= '<option value=""></option><option value="'.$category['catid'].'">'.$opt_value.'</option>';

Tohle je uvnitř vaší smyčky. Takže pokaždé, když se vaše smyčka iteruje, dvě možnosti budou vytvořeny. Jeden prázdný a jeden s vaší kategorií. Vsadím se, že vám stačí jeden prázdná možnost na samém začátku <select> . Myslím, že tohle jste chtěli:

// notice we are initializing $category_string with an empty option here
$category_string = '<option value=""></option>';

function build_categories_options($parent, $categories, $level) {
    global $category_string;
    if (isset($categories[$parent]) && count($categories[$parent])) {
        $level .= " - ";
        foreach ($categories[$parent] as $category) {
            $opt_value = substr($level.$category['catname'],3);

            // removed extra empty category and put it in $category_string initialization
            $category_string .= '<option value="'.$category['catid'].'">'.$opt_value.'</option>';
            build_categories_options($category['catid'], $categories, $level);
        }
        $level = substr($level, -3);
    }
    return $category_string;
}

Také, jak @MoeTsao zmínil v komentářích, zkuste se vyhnout použití mysql_* funkcí, protože jejich použití PHP odrazuje. Místo toho použijte mysqli_* nebo CHOP .




  1. Funkce PostgreSQL vracející více sad výsledků

  2. Jak definovat vlastní objednávku ORDER BY v mySQL

  3. Jak spustit aplikaci Java pomocí MySQL DB na počítači bez nainstalovaného MySQL?

  4. PHP mySQL – Kdy je nejlepší čas odpojit se od databáze?