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

PHP:Động thả xuống với optgroup

Hai vòng lặp for không được lồng vào mã của bạn:

foreach ($groups as $label => $opt) { ?>
    <optgroup label="<?php echo $label; ?>">
<?php   } <-- wrong here
    foreach ($groups[$label] as $id => $name) { ?>
        <option value="<?php echo $id; ?>"><?php echo $name; ?></option>
<?php } ?>

Kết quả là đầu tiên tất cả các nhóm lựa chọn được tạo và sau đó các nhân viên cho nhóm cuối cùng được thêm vào (bởi vì $label$opt cũng có sẵn sau khi vòng lặp kết thúc).

Bạn phải lồng các vòng lặp ( sử dụng cú pháp thay thế để điều khiển cấu trúc ):

<?php foreach($groups as $label => $opt): ?>
    <optgroup label="<?php echo $label; ?>">
    <?php foreach ($opt as $id => $name): ?>
        <option value="<?php echo $id; ?>"><?php echo $name; ?></option>
    <?php endforeach; ?>
    </optgroup>
<?php endforeach; ?>

Hơn nữa, tôi nghĩ bạn phải sử dụng emp_id , không phải grp_id khi tạo mảng:

while ($qa = $employees->GetRows()) {
    $groups[$qa['groupname']][$qa['emp_id']] = $qa['empname'];
}



  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 để tạo hệ thống gắn thẻ bằng php và mysql?

  2. Chọn một hàng trong MySQL

  3. Làm cách nào để thêm một ứng dụng khách bằng JDBC cho ClientDetailsServiceConfigurer trong Spring?

  4. MySql và vấn đề chèn ID cuối cùng vẫn còn

  5. Truy cập Cơ sở dữ liệu MySQL trong Electron