在我的HTML中,我想创建if-else和while循环,但每次尝试都会出错。请检查我做错了什么:
<input type="radio" name="brand" value=""<?=(($brandValue == '')?' checked':'');?>> All<br>
<?php if ($cat_id != ''): ?>
<?php while ($brand = mysqli_fetch_assoc($sqlOnlyCatBrands)) : ?>
<?php elseif ($cat_id == ''): ?>
<?php while ($brand = mysqli_fetch_assoc($brandQ)) : ?>
<?php endif; ?>
<input type="radio" name="brand" value="<?=$brand['id'];?>"<?= (($brandValue == $brand['id'])?' checked':'');?> > <?=$brand['brand'];?> .
<br>
<?php endwhile; ?>
我希望如果我的$cat_id不是空的,那么执行
<?php while ($brand = mysqli_fetch_assoc($sqlOnlyCatBrands)) : ?>
我希望如果我的$cat_id是空的,那么执行
<?php while ($brand = mysqli_fetch_assoc($brandQ)) : ?>
我收到错误消息:
Parse error: syntax error, unexpected 'endif' (T_ENDIF) in
敬请指教我做错了什么。
发布于 2018-09-05 08:02:49
代码结构如下:
<?php if ($cat_id != ''): ?>
<?php while ($brand = mysqli_fetch_assoc($sqlOnlyCatBrands)) : ?>
<input type="radio" name="brand" value="..."> ...<br>
<?php endwhile; ?>
<?php elseif ($cat_id == ''): ?>
<?php while ($brand = mysqli_fetch_assoc($brandQ)) : ?>
<input type="radio" name="brand" value="..."> ...<br>
<?php endwhile; ?>
<?php endif; ?>
或者你可以让它变得更简单,看看你的代码有什么主要的不同。所以,你不需要重写你所做的事情。
<?php $sql = $cat_id != '' ? $sqlOnlyCatBrands : $brandQ; ?>
<?php while ($brand = mysqli_fetch_assoc($sql)): ?>
<input type="radio" name="brand" value="..."> ...<br>
<?php endwhile; ?>
希望这能对你有所帮助。
https://stackoverflow.com/questions/52175275
复制相似问题