我只需要在文本框中显示数据库的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>
答案 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来了解如何解决该问题。