如何使用while循环在php中使用while循环检查记录是否存在

时间:2016-06-20 09:39:11

标签: php mysql ajax

我无法检查数据库中是否存在数据。实际上我有逻辑如何检查它。但是当我提交表单时我遇到了麻烦,它显示了所有记录的消息,例如:

| 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
    }
}
?>

2 个答案:

答案 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) {
}