milanluan bắt đầu chủ đề từ 3 tháng trước

@milanluan ·


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

Drop Images

Đơ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.


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.