我无法检查数据库中是否存在数据。实际上我有逻辑如何检查它。但是当我提交表单时我遇到了麻烦,它显示了所有记录的消息,例如:
| 1 | book1 | 34234324个
| 2 | book2 | 839423423个
| 3 | book3 | 323423423个
所以我在循环中有一个提交通知。我想特别想在我正在检查的特定记录上显示错误消息..
这是我的代码
<?php
date_default_timezone_set('Asia/Manila');
$db_server = "localhost"; // server 127.0.0.1
$db_user = "root"; // databe user name
$db_pass = ""; //password
$db_name = "ue_library"; //database name
$dbcon = new mysqli($db_server,$db_user,$db_pass,$db_name);
if ($dbcon->connect_error)
{
die("Connection failed: " . $dbcon->connect_error);
}
?>
<?php
$d = $dbcon->query("SELECT * FROM book_reservation") or die(mysqli_error());
?>
<?php
if(!empty($d))
{
foreach ($d as $key => $value)
{
?>
<div style="">
<?php echo $value['barcode_num'];?><span style="padding-left:100px;">
<?php echo $value['book_title'];?>
<form method="post" action="">
<input type="text" name="barcode_num" class="search_code">
<input type="hidden" name="reserveID"
value="<?php echo $value['reserveID'];?>">
<input type="submit" name="check" value="Check Availability">
</form>
<?php
if(isset($_POST['check']))
{
$barcode_num= trim($_POST['barcode_num']);
$reserveID = trim($_POST['reserveID']);
$f = $dbcon->query("SELECT * FROM book_reservation
WHERE barcode_num = '$barcode_num' AND reserveID='$reserveID'")
or die(mysqli_error());
$row = $f->fetch_assoc();
if($row['barcode_num'] == $barcode_num &&
$row['reserveID'] == $reserveID)
{
echo 'Meron';
}
else
{
echo 'wala';
}
?>
<?php
}
?>
</span>
<?php
}
}
?>
答案 0 :(得分:0)
$connection=mysqli_connect($host,$user,$pass,$database);
do {
$random=mt_rand(1000,9999);
$result=$connection->query("SELECT * FROM table WHERE email = '.$random.'");
$num_rows = $result->num_rows;
}
while ($num_rows > 0);
答案 1 :(得分:0)
您没有正确迭代初始记录集。例如:
$d = $dbcon->query("SELECT * FROM book_reservation") or die(mysqli_error());
你需要使用&#39; while&#39;循环代替并循环遍历:
$d = $dbcon->query("SELECT * FROM book_reservation") or die(mysqli_error());
while($row = $d->fetch_assoc) {
}