milanluan bắt đầu chủ đề từ 4 năm 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

3 Bình luận

truongtuongtu avatar

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

milanluan avatar

@truongtuongtu : 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.

phqghume avatar

'"()&%

phqghume avatar
phqghume avatar

acu5652<s1﹥s2ʺs3ʹuca5652

phqghume avatar

acux8234

phqghume avatar
phqghume avatar
phqghume avatar

acx{{98991*97996}}xca

phqghume avatar

acx{{98991*97996}}xca

phqghume avatar

acx{98991*97996}xca

phqghume avatar

acx${98991*97996}xca

phqghume avatar

acx#{98991*97996}xca

phqghume avatar

acx{#98991*97996}xca

phqghume avatar

acx{@98991*97996}xca

phqghume avatar

acx{{=98991*97996}}xca

phqghume avatar

acx@(98991*97996)xca

phqghume avatar

acx<%=98991*97996%>xca

phqghume avatar

acx#set($x=98991*97996)${x}xca

phqghume avatar

acx{{"abc"|title}}xca

phqghume avatar

print("acx" . 98991*97996 . "xca");

phqghume avatar

989919799698991*97996

phqghume avatar

acx{@math key=98991 method="multiply" operand=97996/}xca

phqghume avatar

acx{{{this}}}xca

phqghume avatar

{989919799698991*97996}

phqghume avatar

acx#{xca}=123

phqghume avatar

acx{{'abcd'.toUpperCase()}}xca

phqghume avatar

AAABBBCCC{{define "bla"}}bla{{end}}{{define "acx"}}xyz{{end}}{{template "acx"}}CCCBBBAAA

phqghume avatar

acx{{98991*97996}}xca

phqghume avatar

acx[[${98991*97996}]]xca

phqghume avatar

acx${98991*97996}::.x

phqghume avatar

"acxzzzzzzzzbbbccccdddeeexca".replace("z","o")

phqghume avatar
phqghume avatar
phqghume avatar
phqghume avatar
phqghume avatar
phqghume avatar
phqghume avatar
truongtuongtu avatar

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à

milanluan avatar

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.

truongtuongtu avatar

@milanluan : Ý mình là form thì các trường name phải khác nhau , bạn đặt trùng id thì nó chỉ lấy cái sau thôi bạn đặt id với id2 là xong mà