Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để tôi có thể sử dụng $ _get với hàm build_categories_options

Đối với mỗi danh mục, bạn đang hiển thị hai tùy chọn, một tùy chọn trống và một tùy chọn có thông tin danh mục:

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

Đây là bên trong vòng lặp của bạn. Vì vậy, mỗi khi vòng lặp của bạn lặp lại, hai các tùy chọn sẽ được tạo. Một trống và một với danh mục của bạn. Tôi cá là bạn chỉ cần một tùy chọn trống ở đầu <select> . Tôi nghĩ đây là những gì bạn muốn:

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

Ngoài ra, như @MoeTsao đã đề cập trong các nhận xét, hãy cố gắng tránh sử dụng mysql_* vì PHP không khuyến khích sử dụng chúng. Thay vào đó, hãy sử dụng mysqli_* hoặc 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. Làm cách nào để đếm tổng số truy vấn MySQL được sử dụng trên mỗi trang?

  2. Cách tốt nhất để lưu trữ giá trị được mã hóa base64 trong MySQL DB?

  3. Nhập tệp csv lớn vào cơ sở dữ liệu mysql bằng php

  4. Tìm kiếm số điện thoại trong mysql

  5. mysql SẮP XẾP THEO số lượng từ phù hợp duy nhất