如何将数据库表中的SQL数据回显到<select>表单?</select>

时间:2014-01-22 10:29:40

标签: php mysql sql

我想知道是否有人可以提供帮助。

我正在尝试将一些SQL数据回显到<select>表单中,每个<option>作为表中的不同行。

例如,如果我的表有两列'username'和'category',并且同一用户名有两行,包含数据:

“username:test,category:test1。”

&安培;第二行为:

“username:test,category:test2。”

我如何在选择表单中回显'test1'和'test2'作为两个选项?

表格名称为“testtable”,因此我当前的$sql查询为("SELECT 'category' FROM 'testtable' WHERE 'username = \'$user\'")

$user目前设置为$_SESSION['username']

代码示例非常有用,非常感谢。我似乎无法让他们回应我在论坛上发现的例子。

5 个答案:

答案 0 :(得分:1)

您从查询中获得所有行:

<?php
$query = "SELECT category FROM testtable WHERE username = '" . $_SESSION['username'] ."'";
$result = mysql_query($query);
$options = array();
while($row = mysql_fetch_array($result))
{
    $options[] = "<option>" . $row['category'] . "</option>";
}
?>

<select>
    <?php echo implode("",$options); ?>
</select>

答案 1 :(得分:1)

试试这个:

<select>
  <?php while($row = mysql_fetch_array($result)
   {?>
   <option><?php echo $row['category'];?></option>
  <?php }?>
</select>

答案 2 :(得分:0)

您的选择查询有错误:用户名之前的非配对单引号和类别周围的单引号 - 这可能是您无法做到的原因吗?

答案 3 :(得分:0)

<?php
$result = mysql_query($query);
echo "<select>";
while($row = mysql_fetch_array($result))
{
echo  "<option>".$row['category']."</option>";
}
echo "</select>";
?>

答案 4 :(得分:0)

试试这个

<select name="your_select_name" id="your_select_id">
    <option value="">Select</option>
    <?php
        $username = $_SESSION['username'];
        $res = mysql_query("SELECT `category` FROM `testtable` WHERE `username` = '$username' ") or die(mysql_error());
        while($row = mysql_fetch_assoc($res))
        {
            echo '<option value="'.$row['category'].'">'.$row['category'].'</option>';
        }
    ?>
</select>

更新2:

对于不同的类别,请使用此

$res = mysql_query("SELECT DISTINCT(`category`) as category FROM `testtable` WHERE `username` = '$username' ") or die(mysql_error());

OR

$res = mysql_query("SELECT `category` FROM `testtable` WHERE `username` = '$username' GROUP BY category ") or die(mysql_error());