MySQL where语句中的where语句

时间:2016-11-28 09:07:55

标签: php mysqli where

我似乎在现有的MySQL循环中遇到WHERE语句的问题,这让我觉得这是不可能的。如果它可行,我将如何执行它?

此示例使用其现有连接,我也尝试了自己的连接但没有成功。

我有2个表,预订作业 .. 预订是数据库和作业的主要描述部分可能有几行与预订

相同的预订
<?php
    $conn = mysqli_connect($servername,$username,$password,$dbname);

    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT * FROM rwxoq_Bookings WHERE user_id = $user_id";
    $result = mysqli_query($conn, $sql);
    while($rowb = mysqli_fetch_assoc($result)) { 
?>
    <tr>
      <td valign="top">
        <?php echo $rowb{'Booking_ID'};?>
      </td>
      <td>
       <?php echo date("D, d-m-Y g:ia", strtotime($rowb{'created'}));?>
      </td>
      <td>
        <?php
         $sqlj = "SELECT * FROM rwxoq_jobs WHERE Booking_ID = $rowb{'Booking_ID'}";
         $resultj = mysqli_query($conn, $sqlj);
         while($rowj = mysqli_fetch_assoc($resultj)) {
             $count++;
         }
        echo $count;
?>
      </td>
      <td id="<?php echo $row{'id'};?>">PENDING</td>
    </tr>
<?php } ?>

1 个答案:

答案 0 :(得分:0)

我知道你会做什么,但这不是一个好的解决方案;
我建议你使用你之间的联系:

$conn = mysqli_connect($servername,$username,$password,$dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT b.*, COUNT(*) AS cnt FROM rwxoq_Bookings b LEFT JOIN rwxoq_jobs j ON j.Booking_ID = b.Booking_ID WHERE user_id = $user_id GROUP BY b.Booking_ID";
$result = mysqli_query($conn, $sql);
$table = "";
while($rowb = mysqli_fetch_assoc($result)) { 

    $table .= "
    <tr>
      <td valign='top'>
        {$rowb['Booking_ID']}
      </td>
      <td>
       ". date('D, d-m-Y g:ia', strtotime($rowb['created'])) ."
      </td>
      <td>
        {$rowb['cnt']}
      </td>
      <td id='{$row['id']}'>PENDING</td>
    </tr>";
}

echo $table;

$conn = mysqli_connect($servername,$username,$password,$dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT b.*, COUNT(*) AS cnt FROM rwxoq_Bookings b LEFT JOIN rwxoq_jobs j ON j.Booking_ID = b.Booking_ID WHERE user_id = $user_id GROUP BY b.Booking_ID"; $result = mysqli_query($conn, $sql); $table = ""; while($rowb = mysqli_fetch_assoc($result)) { $table .= " <tr> <td valign='top'> {$rowb['Booking_ID']} </td> <td> ". date('D, d-m-Y g:ia', strtotime($rowb['created'])) ." </td> <td> {$rowb['cnt']} </td> <td id='{$row['id']}'>PENDING</td> </tr>"; } echo $table;