Mình muốn truy xuất dữ liệu mysql có điều kiện bằng form html mà làm không được. Mọi người xin chỉ cho mình bị sai chỗ nào , xin cám ơn. Mình có bảng cơ sở dữ liệu tên là thucdon gồm các cột :
ID Name Email 1 A a@yahoo.com 2 B b@yahoo.com 3 C c@yahoo.com 4 D d@yahoo.com 5 E e@yahoo.com 6 F f@yahoo.com
Mình muốn dùng form html và câu lệnh PHP để truy xuất cơ sở dữ liệu có điều kiện từ database mysql là ID từ 3 đến 5
File truyxuat.php như sau:
<html>
<head>
<title> lọc dữ liệu theo id </title>
<meta charset="utf-8">
</head>
<body>
<?php
mysql_connect("localhost","root","") or die ("connection failed");
mysql_select_db("demo") or die ("connection faied");
mysql_query("SET NAMES 'UTF8'");
?>
<form action="xuly.php" method="post">
<input type="text" value="nhập số id đầu" name="id" size=40>
<input type="text" value="nhập số id sau" name="id" size=40>
<input class="btn btn-primary" type="submit" name="chon" value="Chọn">
</form>
</body>
</html>
File xuly .php như sau:
<html>
<head>
<meta charset="utf-8">
<title> Trích lọc id </title>
<style>
th {
background-color: #588c7e;
color: white;
text-align: center;
font-size: 14px;
}
</style>
</head>
<body>
<?php
mysql_connect("localhost","root","") or die ("connection failed");
mysql_select_db("demo") or die ("connection faied");
mysql_query("SET NAMES 'UTF8'");
?>
div id="noidung" class="table-responsive">
<table class="table table-striped table-bordered">
<b> <tr align="center">
<th> ID </th>
<th> Name </th>
</tr>
</b>
<?php
$id1=$_POST[id'];
$id2=$_POST['id'];
$sl=mysql_query("SELECT * FROM `thucdon` WHERE id between '$id1' and '$id2'");
while($row=mysql_fetch_array($sl))
{
?>
<tr align="center">
<td>
<?php echo $row['id'];?>
</td>
<td>
<?php echo $row['name'];?>
</td>
<td>
<?php echo $row['email'];?>
</td>
</tr>
<?php }?>
</table>
</div>
</body>
</html>
Kết quả khi mình nhập hai số id là 3 và 5 vào hai khung truy xuất thì nó chỉ ra được dữ liệu của id=5 thôi thay vì ra kết quả dữ liệu id từ 3 đến 5. Mình thử tới thử lui làm hoài không ra. Mong mọi người hướng dẫn giúp mình, cám ơn
Viết câu trả lời
Thêm nữa file truyxuat.php bạn thêm các hàm kết nối đến CSDL làm gì cho lặp. Form chỉ truyền 2 id vào $_POST thôi mà
vì mình truy xuất điều kiện là id>=3 và id<=5 nên trong 2 form mình dùng 1 biến id chứ không dùng biến khác. Kết quả ra không chính xác. bạn có phương pháp nào truy xuất với điều kiện như vậy mà sử dụng form html , xin hướng dẫn cho mình, mình cám ơn bạn nhiều.
26/06/2019 18:28
Đơn giản vì khai báo trong form 2 ô khai báo bạn chỉ khai báo 1 id nên POST chỉ lấy id sau cùng.