[英]MySQL where statement in a where statement
在現有的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 } ?>
我知道您會怎么做,但這不是一個好的解決方案。
我建議您在表之間使用聯接:
$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, dmY g:ia', strtotime($rowb['created'])) ." </td> <td> {$rowb['cnt']} </td> <td id='{$row['id']}'>PENDING</td> </tr>"; } echo $table;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.