所有
我对 没什么问题:我想制作动态下拉列表,我写这个:
<select name='categoryID' >
<?php foreach( $categories as $category)?>
<option value="<?php echo $category['id']?>"> <?php echo $category['name'] ?></option>
</select>
问题是foreach不能正常工作:只进入一次。我需要标记,当我转储类别列表时,它会显示所有项目。有什么建议为什么会这样?这是制作下拉列表的正确方法吗?
答案 0 :(得分:2)
<?php foreach( $categories as $category): ?>
<option value="<?php echo $category['id']; ?>"> <?php echo $category['name']; ?></option>
<?php endforeach; ?>
答案 1 :(得分:1)
您忘记为foreach
添加括号<select name='categoryID' >
<?php foreach( $categories as $category){?>
<option value="<?= $category['id']?>"> <?= $category['name'] ?></option>
<?php } ?>
</select>
答案 2 :(得分:1)
你只有一行,因为你没有关闭你的支柱。
注意:我发现使用short_tags,foreach(/.../): endforeach;
P.S。
我不太确定我有权在这里写这个,但我查看了你的代码我注意到了一些问题:
1)您在使用结果的确切文件中与DB建立了连接。在您的情况下,它可能是适当的。不太确定。 通常的做法是将逻辑和表示您所获取数据的图层分开。
2)您正在使用自mysql_*
以来弃用的PHP 5.5.0
。
自PHP 5.5.0起,此扩展程序已弃用,并将在中删除 未来。
您可以使用mysql_*
或PDO
来代替MySQLi
。