在我的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
请提出我的错。
答案 0 :(得分:1)
这是代码结构:
<?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; ?>
希望这可以为您提供帮助。