sql while循环选择选中列的所有行

ux6nzvsh  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(287)

我想在我的二手车网站上做一个特色汽车部分。
我要做的是使用while循环,只选择具有返回true的特定列的行。例如,在我的数据库中,我有一个列,如果在提交表单上勾选了一个复选框,表明该车应该是“特色”的,那么该列将被标记为true。
在我的while循环中,我只希望那些车出现在这个特定的部分。使用下面的代码,我可以返回库存中的所有车辆,但无法仅选择具有返回真值的“featured”列的车辆。

<?php
$sql = "SELECT * FROM inventory LIMIT 10";
$result = mysqli_query($conn, $sql);

while ($row = $result->fetch_assoc()) 
{
echo '<div class="slide">';
echo '<div class="car-block">';
echo '<div class="img-flex">';
echo '<a href="inventory-listing.php?vin='.$row['vin'].'">';
echo '<span class="align-center">';
echo '<i class="fa fa-3x fa-plus-square-o"></i></span></a>';
echo '<img src="images/inventory/'.$row['vin'].'-main.png" alt="" class="img-responsive">';
echo '</div>';
echo '<div class="car-block-bottom">';
echo '<h6><strong>'.$row['year'].' '.$row['make'].' '.$row['model'].'</strong></h6>';
echo '<h6>'.$row['body'].', '.$row['milage'].' miles</h6>';
echo '<h5>$ '.$row['price'].'</h5>';
echo '</div>';
echo '</div>';
echo '</div>';
}
?>

我可以向sql查询中添加什么来只过滤“featured”列返回true的行?

rsaldnfx

rsaldnfx1#

除了goleztrols建议之外,您可以在回显结果之前插入if子句。

<?php
$sql = "SELECT * FROM inventory LIMIT 10";
$result = mysqli_query($conn, $sql);

while ($row = $result->fetch_assoc()) 
{
if ($row['featured']=="true") 
{
echo '<div class="slide">';
echo '<div class="car-block">';
echo '<div class="img-flex">';
echo '<a href="inventory-listing.php?vin='.$row['vin'].'">';
echo '<span class="align-center">';
echo '<i class="fa fa-3x fa-plus-square-o"></i></span></a>';
echo '<img src="images/inventory/'.$row['vin'].'-main.png" alt="" class="img-responsive">';
echo '</div>';
echo '<div class="car-block-bottom">';
echo '<h6><strong>'.$row['year'].' '.$row['make'].' '.$row['model'].'</strong></h6>';
echo '<h6>'.$row['body'].', '.$row['milage'].' miles</h6>';
echo '<h5>$ '.$row['price'].'</h5>';
echo '</div>';
echo '</div>';
echo '</div>';
}
else 
{
echo "nothing to be shown";
}
}

相关问题