使用foreach迭代PHP下拉列表

时间:2013-12-21 15:31:24

标签: php html

所有

我对 没什么问题:我想制作动态下拉列表,我写这个:

<select name='categoryID' >
    <?php foreach( $categories as $category)?>
    <option value="<?php echo $category['id']?>"> <?php echo $category['name'] ?></option>
</select>

问题是foreach不能正常工作:只进入一次。我需要标记,当我转储类别列表时,它会显示所有项目。有什么建议为什么会这样?这是制作下拉列表的正确方法吗?

整个代码: http://pastebin.com/RE56KQCY

3 个答案:

答案 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_tagsforeach(/.../): endforeach;

非常简单

P.S。

我不太确定我有权在这里写这个,但我查看了你的代码我注意到了一些问题:

1)您在使用结果的确切文件中与DB建立了连接。在您的情况下,它可能是适当的。不太确定。 通常的做法是将逻辑和表示您所获取数据的图层分开。

2)您正在使用自mysql_*以来弃用的PHP 5.5.0

  

自PHP 5.5.0起,此扩展程序已弃用,并将在中删除   未来。

您可以使用mysql_*PDO来代替MySQLi