PHP-在文本框中显示特定数据

时间:2018-12-13 23:41:05

标签: php mysql

我只需要在文本框中显示数据库的id行,我的问题是数据正在显示所有id's行和列。

看到这里是我的问题,我正在获取数据库中的所有数据.. 但是我唯一需要的是数据库上的唯一ID。这是我对决赛的感谢!

这是我在表单中的代码,输入文本字段并提交

 <form action="" method="POST">
            <div class="row  col-md-4">
            <label>Amount</label>
             <input type="text" name="id" class="form-control validate"> 
               <br>
            <input type="submit" class="form-control btn-warning" name="search" value="Search Data"></input><br>

            <?php 

            $connection = mysqli_connect("localhost","root","");
            $db = mysqli_select_db($connection, 'qrproject');

            if(isset($_POST['search']))
            {
              $id = $_POST['id'];

              $query = "SELECT * FROM scratch_cards WHERE amount='$id' ";
              $query_run = mysqli_query($connection, $query);

              while($row = mysqli_fetch_array($query_run))
              {
                ?>
                <form action="" method="POST">

                <input type="text" name="code" value="<?php echo $row['code'] ?>" class="form-control validate" id="mapo">

                   <input type="text" name="pin" value="<?php echo $row['pin'] ?>" class="form-control validate" id="mact">

                   <input type="text" name="status" value="<?php echo $row['status'] ?>" class="validate form-control" id="soluong">



                <input type="date" name="card_expiration" value="<?php echo $row['card_expiration'] ?>" class="validate form-control" id="cardex">


                  <input type="number" name="card_validity" value="<?php echo $row['card_validity'] ?>" class="validate form-control" id="cardval">



                </form>
                <?php 
              }
            }
             ?>   
        </form>

1 个答案:

答案 0 :(得分:0)

从您的评论看来,您想要做的是输出一个随机行,该行将$_POST['id']值与表中的amount列相匹配。您可以通过将查询更改为此:

SELECT * FROM scratch_cards WHERE amount='$id' ORDER BY RAND() LIMIT 1

您也可以更改

while($row = mysqli_fetch_array($query_run))

if($row = mysqli_fetch_array($query_run))

尽管更改了查询以将输出限制为一行,但这不再是绝对必要的。

正如已经指出的那样,您容易受到SQL注入的攻击,您应该阅读this question来了解如何解决该问题。