我只需要在文本框中显示数据库的 id
行,我的问题是数据显示了所有 id
行和列。
我正在获取数据库中的所有数据,但我需要的只是数据库上的 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>
最佳答案
从您的评论来看,您似乎想要做的是输出一个随机行,该行与 $_POST['id']
值与 amount
列相匹配在你的 table 上。您可以通过将查询更改为:
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 注入(inject)的攻击,您应该阅读 this question看看如何解决这个问题。
关于PHP - 在文本框中显示特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53771638/