Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę użyć $_get z funkcją build_categories_options?

Dla każdej kategorii wyświetlasz dwie opcje, pustą opcję i jedną z informacjami o kategorii:

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

To jest w twojej pętli. Tak więc za każdym razem, gdy pętla iteruje, dwa opcje zostaną utworzone. Pusty i jeden z twoją kategorią. Założę się, że potrzebujesz tylko jednego pusta opcja na samym początku <select> . Myślę, że tego chciałeś:

// 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;
}

Ponadto, jak @MoeTsao wspomniał w komentarzach, staraj się unikać używania mysql_* funkcji, ponieważ PHP odradza ich stosowanie. Zamiast tego użyj mysqli_* lub PDO .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie Mongodb i Mysql w jednym projekcie

  2. dostałem select, który wykonuje 10 zapytań w doktrynie (Symfony)

  3. mysql zastępuje znaki specjalne html odpowiednikami UTF

  4. Jak wybrać najmniejszą wartość z wielu kolumn za pomocą PHP

  5. BŁĄD 1396 (HY000):Operacja DROP USER nie powiodła się dla „user”@„localhost”