Cách thêm dữ liệu từ cơ sở dữ liệu vào danh sách thả xuống trong php?

Trong nhiều trường hợp, có thể mã hóa cứng một tập hợp các tùy chọn danh sách thả xuống ngay trong phần HTML của trang như đã thực hiện trong ví dụ trước. Tuy nhiên, khi nội dung của một danh sách thường xuyên thay đổi, cách tiếp cận như vậy sẽ yêu cầu rất nhiều lần cập nhật trang không cần thiết. Giống như bạn có thể sử dụng PHP để truy xuất dữ liệu được phủ trên bản đồ, bạn cũng có thể sử dụng nó để tự động điền vào danh sách thả xuống

Để minh họa một cách tiếp cận vấn đề này, chúng ta hãy xem một phiên bản sửa đổi đôi chút của trang Jen và Barry ở phần trước của bài học

Nó trông và hoạt động giống nhau đối với người dùng cuối. Tuy nhiên, phiên bản này lấy tên của các thành phố từ MySQL. Lưu ý rằng thay cho phần tử select đã được mã hóa cứng trước đây, giờ đây chỉ có một div trống (với id được gán). Sự khác biệt khác trong phiên bản này có thể được tìm thấy ở phần đầu của hàm initMap(). Ở đó trước khi khởi tạo bản đồ là một lệnh gọi jQuery ajax(). Mã này đọc đầu ra của tập lệnh có tên get_city_list. php và chèn văn bản đó vào div giữ chỗ trống. Đây là mã nguồn của get_city_list. php

https. //phpdb. một bộ. psu. edu/phpjed124/get_city_list. php

City:';
    echo '';
    echo '';
}

mysqli_close($link);

?>

Logic đằng sau tập lệnh này khá đơn giản. Đầu tiên, nó xuất các thẻ bắt đầu cho nhãn của danh sách và chọn các thành phần, theo sau là tùy chọn "tất cả" (để hiển thị tất cả các thành phố). Sau đó, nó lặp qua các bản ghi được trả về bởi một truy vấn chọn một danh sách các thành phố duy nhất. Mệnh đề GROUP BY của truy vấn không thực sự cần thiết đối với bảng này, nhưng tôi đã đưa nó vào vì mệnh đề như vậy thường hữu ích để loại bỏ trùng lặp. Ví dụ: hãy tưởng tượng bạn đang phát triển một ứng dụng bất động sản cho phép người dùng chọn một khu học chánh từ danh sách và xem tất cả các bất động sản có sẵn trong khu học chánh đó. Bạn muốn mỗi khu học chánh chỉ hiển thị trong danh sách thả xuống một lần, nhưng bảng chứa danh sách tài sản có thể chứa nhiều lần xuất hiện của mỗi khu học chánh. NHÓM THEO trên trường khu học chánh sẽ tạo ra một danh sách không trùng lặp (và được sắp xếp theo thứ tự bảng chữ cái)

Điều này kết thúc nội dung trên cơ sở dữ liệu quan hệ và việc sử dụng chúng trong ngữ cảnh lập bản đồ web. Trên trang tiếp theo, bạn sẽ tìm thấy một kịch bản dự án mà bạn có thể hoàn thành như một cách để áp dụng những gì bạn đã học được ở đây vào thực tế và/hoặc để kiếm thêm tín chỉ

Tôi chưa quen với PHP. Khi tôi đang cố chèn giá trị từ danh sách thả xuống vào bảng cơ sở dữ liệu, hiển thị một số lỗi

mật mã



OPTION



Name :





".$name."inserted"; } else { echo mysql_error(); } } ?>

khi tôi đang thử đưa ra lỗi này

Bạn có lỗi trong cú pháp SQL của mình;

Trong nhiều tình huống, chúng ta có thể cần tạo đầu vào thả xuống có thể hiển thị tất cả các tùy chọn phù hợp với trạng thái hiện tại của cơ sở dữ liệu. Hình thức đầu vào này được sử dụng nhiều lần trong cuộc sống thực và các ví dụ sau đây có thể giúp hiểu được điều tương tự

  1. Tập sinh viên có số đăng ký duy nhất
  2. Một tập hợp các tên chi nhánh và id chi nhánh của họ
  3. Danh sách các danh mục mà một sản phẩm cụ thể phải thuộc về

Trong bài viết này, chúng tôi sẽ tạo danh sách thả xuống với danh sách các danh mục mà một sản phẩm cụ thể phải thuộc về

Tiếp cận. Trong mỗi ví dụ này, nếu chúng ta sử dụng menu thả xuống để tìm nạp dữ liệu từ cơ sở dữ liệu, người dùng sẽ có thể nhập dữ liệu chính xác hơn và giao diện người dùng sẽ thân thiện hơn với người dùng.  

Chúng tôi cần những điều sau đây

  • Cơ sở dữ liệu có bảng danh mục và một bảng sản phẩm khác có khóa ngoại cho ID danh mục chứa sản phẩm cụ thể
  • Biểu mẫu HTML chấp nhận dữ liệu

bước

Tạo cơ sở dữ liệu

  • Bật Apache và MySQL từ bảng điều khiển XAMPP

Cách thêm dữ liệu từ cơ sở dữ liệu vào danh sách thả xuống trong php?

Bấm vào nút “Bắt đầu”

  • Tạo cơ sở dữ liệu “example_store” bằng cách nhấp vào nút mới

Cách thêm dữ liệu từ cơ sở dữ liệu vào danh sách thả xuống trong php?

Bấm vào nút “mới” để tạo cơ sở dữ liệu mới

  • Nhập tên cơ sở dữ liệu và nhấp vào “Tạo”

Cách thêm dữ liệu từ cơ sở dữ liệu vào danh sách thả xuống trong php?

Tạo một cơ sở dữ liệu mới với tên “example_store”

  • Nhấp vào tab SQL và dán đoạn mã sau và nhấp vào “GO”

Cách thêm dữ liệu từ cơ sở dữ liệu vào danh sách thả xuống trong php?

Để chạy SQL và chuẩn bị cơ sở dữ liệu

truy vấn MySQL

-- Table structure for table `category`
CREATE TABLE `category` (

 `Category_ID` int(11) NOT NULL,

 `Category_Name` varchar(255) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `category`
INSERT INTO `category` (`Category_ID`, `Category_Name`) VALUES

(1, 'Category A '),

(2, 'Category B');

-- Table structure for table `product`
CREATE TABLE `product` (

 `Product_ID` int(11) NOT NULL,

 `product_name` varchar(255) NOT NULL,

 `category_id` int(11) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `product`
INSERT INTO `product` (`Product_ID`, `product_name`, `category_id`) VALUES

(1, 'Product A1', 1),

(2, 'Product A2', 1),

(3, 'Product B1', 2);


-- Primary Key Constraints
ALTER TABLE `category`

 ADD PRIMARY KEY (`Category_ID`);

ALTER TABLE `product`

 ADD PRIMARY KEY (`Product_ID`),

 ADD KEY `Category_constraint` (`category_id`);
 
 
 
-- AUTO_INCREMENT for table `category`
ALTER TABLE `category`

 MODIFY `Category_ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

-- AUTO_INCREMENT for table `product`

ALTER TABLE `product`

 MODIFY `Product_ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

-- Foreign Key Constraints

ALTER TABLE `product`

 ADD CONSTRAINT `Category_constraint` FOREIGN KEY (`category_id`) 
 REFERENCES `category` (`Category_ID`) ON DELETE 
 CASCADE ON UPDATE CASCADE;

Thí dụ. Chúng tôi tạo một tệp PHP trong một thư mục có tên “example_store” trong htdocs và tạo biểu mẫu sau. trang web php có thể được truy cập trong trình duyệt tại “localhost/example_store/form. php”

PHP




 

    // Connect to database

    __$con = mysqli_connect("localhost"



OPTION



Name :





".$name."inserted"; } else { echo mysql_error(); } } ?>
0


OPTION



Name :





".$name."inserted"; } else { echo mysql_error(); } } ?>
1


OPTION



Name :





".$name."inserted"; } else { echo mysql_error(); } } ?>
01


OPTION



Name :





".$name."inserted"; } else { echo mysql_error(); } } ?>
034

Làm cách nào để kết nối DropDownList với cơ sở dữ liệu?

Để làm điều đó, chúng tôi tạo một đối tượng chuỗi kết nối để kết nối cơ sở dữ liệu với ứng dụng và đọc dữ liệu từ cơ sở dữ liệu bằng cách sử dụng lệnh chọn để hiển thị dữ liệu trong DropDownList. All you have to do is implement and hook it up to your requirement or need.

Làm cách nào để lọc các bản ghi từ cơ sở dữ liệu bằng menu thả xuống bằng php?

Bộ lọc thả xuống nhiều lựa chọn trong PHP với Tìm kiếm cơ sở dữ liệu .
tập lệnh cơ sở dữ liệu. Tập lệnh sau được sử dụng để tạo cấu trúc cơ sở dữ liệu và kết xuất dữ liệu cần thiết cho ví dụ này. .
Bộ lọc tìm kiếm HTML với danh sách thả xuống Đa lựa chọn. .
MySQL SELECT Query để lọc kết quả cơ sở dữ liệu dựa trên các quốc gia được chọn

Làm cách nào để lấy dữ liệu từ cơ sở dữ liệu trong php và hiển thị?

Có hai cách để kết nối với cơ sở dữ liệu bằng PHP. .
Hướng đối tượng MySQLi $conn->query($query);
MySQLi Thủ tục mysqli_query($conn, $query)
PDO. $stmt = $conn->prepare($query);

Cách tìm nạp và chèn dữ liệu từ cơ sở dữ liệu trong php?

Truy xuất hoặc tìm nạp dữ liệu từ cơ sở dữ liệu trong PHP .
CHỌN (các) tên_cột TỪ_tên_bảng
$query = mysql_query("select * from tablename", $connection);
$connection = mysql_connect("localhost", "root", "");
$db = mysql_select_db("công ty", kết nối $);
$query = mysql_query("chọn * từ nhân viên", $connection);