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

Tạo trình đơn thả xuống cơ sở dữ liệu mysql bằng cách sử dụng dữ liệu đã được nhập trong html / php

Một cái gì đó như thế này?

<select name="pulldown1">
    <option value="default">Choose an option</option>
    <?php
    include("connect.php"); /*file where you have stored your DB conn. settings*/
    $result = mysql_query('SELECT id, lastname, firstname FROM spusername ORDER BY firstname ASC') or die (mysql_error()); 

    while ($row = mysql_fetch_array($result)) {
    echo '<option value="' . htmlentities($row['id'], ENT_QUOTES) . ' ' . htmlentities($row['lastname'], ENT_QUOTES) . ' ' . htmlentities($row['firstname'], ENT_QUOTES) . '">' . htmlentities($row['lastname'], ENT_QUOTES) . ', ' . htmlentities($row['firstname'], ENT_QUOTES) . '</option>';
    }
    ?>
</select>

<select name="pulldown2">
    <option value="default">Choose and option</option>
    <?php

    $result = mysql_query('SELECT traingtype FROM trainingtable ORDER BY trainingname ASC') or die (mysql_error()); 

    while ($row = mysql_fetch_array($result)) {
        echo '<option value="' . $row['trainingtype'] . '">' . $row['trainingtype'] . '" "' . $row['lastname'] . '</option>';
    }
    ?>
</select>

Điều này sẽ dẫn đến hai menu thả xuống trong đó menu thả xuống đầu tiên liệt kê họ và tên người dùng được phân tách bằng dấu phẩy + khoảng trắng và menu thứ hai sẽ liệt kê các loại đào tạo khác nhau. ID được gửi chỉ được gửi qua biến, nhưng không được hiển thị cho người dùng.

Khi kéo các giá trị từ biến trong pulldown1, chỉ cần sử dụng boom:

$userdetails = $_POST['pulldown1'];
$values = explode(" " $userdetails);
$ID = $values[0];
$lastname = $values[1];
$firstname = $values[2];

Chưa kiểm tra mã vì vậy nó có thể cần điều chỉnh và tất nhiên bạn cần thay đổi tên biến tương ứng với tên hàng db thực của bạn.

Chỉnh sửa:Trong mã của bạn, bạn phải sử dụng $ row chứ không phải $ row2.

Thứ hai, thay vì điều này:

<option value='{$id}'>{$lastname},{$firstname}</option>

sử dụng cái này:

<option value="' . $row['id'] . '">' . $row['lastname'] . ', ' . $row['firstname'] . '</option>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL:Cập nhật trường với sự kết hợp của nhiều trường

  2. Ngoại lệ truyền không hợp lệ là MySQL đã được bỏ xử lý

  3. Danh sách các bảng không trống trong cơ sở dữ liệu MySQL

  4. MySQL và PHP:UTF-8 với các ký tự Cyrillic

  5. Truy vấn mysql đơn giản để kiểm tra xem hàng có tồn tại hay không