Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menampilkan kategori, subkategori, sub-subkategori dalam daftar pilih - php/mysql?

Dengan asumsi array yang Anda berikan ada di $array, Anda dapat menggunakan ini. Tetapi seperti yang sudah saya katakan, Anda harus memilih id untuk menangani kategori dengan nama yang sama dan menggunakannya sebagai nilai opsi di kotak pilih Anda:

  $options = get_options($array);
  echo "<select>";
  foreach($options as $val) {
    echo "<option>".$val."</option>";
  }
  echo "</select>";

  function get_options($array, $parent="", $indent="") {
    $return = array();
    foreach($array as $key => $val) {
      if($val["parent category"] == $parent) {
        $return[] = $indent.$val["category name"];
        $return = array_merge($return, get_options($array, $val["category name"], $indent."&nbsp;&nbsp;&nbsp;"));
      }
    }
    return $return;
  }

Dengan asumsi bahwa Anda sekarang memiliki id dalam array Anda sebagai "category_id" dan "parent_category_id" Anda dapat menggunakan ini. Tanda "x" sebelum kunci di $return hanya untuk menghindari php mengubah kunci Anda, karena mereka numerik.

  $options = get_options($array);
  echo "<select>";
  foreach($options as $key => $val) {
    echo "<option value='".substr($key,1)."'>".$val."</option>";
  }
  echo "</select>";

  function get_options($array, $parent=0, $indent="") {
    $return = array();
    foreach($array as $key => $val) {
      if($val["parent_category_id"] == $parent) {
        $return["x".$val["category_id"]] = $indent.$val["category name"];
        $return = array_merge($return, get_options($array, $val["category_id"], $indent."&nbsp;&nbsp;&nbsp;"));
      }
    }
    return $return;
  }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. variabel terdefinisi global kustom mysql

  2. Pengguna Aktif Mingguan untuk setiap hari dari log

  3. Menyortir Null terakhir

  4. Bagaimana cara mengatur batas waktu kueri ActiveRecord untuk mysql?

  5. Menghasilkan berbagai angka di MySQL