【问题标题】:drop down list in html data from mysql using php使用php从mysql的html数据中下拉列表
【发布时间】:2018-10-18 18:01:43
【问题描述】:

我有一个 HTML 下拉列表,其中的内容需要使用 PHP 从我的 MySQL 数据库加载。

我尝试了以下方法;但没有选项正在加载。

<strong> Select Data </strong> 
<select name="data1"> 
     <option value=""> NONE </option> 
<?php

$dd_res=mysql_query("Select relation FROM relation_names");
while($r=mysql_fetch_row($dd_res))
{ 
     echo "<option value='$r[0]'> $r[0] </option>";
}
?>
</select>

我也试过这样:

$q="SELECT DISTINCT *relation FROM relation_names";
$rs=mysql_query($q);
if($rs && mysql_num_rows($rs))
{
    while($rd=mysql_fetch_object($rs))
    { 
        echo("<option value='$rd->id'>$rd->name</option>");
    }
}

但我不知道为什么这些不起作用,请帮助我。

我根据评论尝试了下面的代码。 但选项名称没有显示。

【问题讨论】:

标签: php mysql html drop-down-menu


【解决方案1】:
<strong> Select Data </strong> 
<select name="data1"> 
<option value=""> NONE </option> 
<?php
// Mysql db connection
$con=mysqli_connect("localhost","my_user","my_password","my_db");

// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// Perform queries 
$rs = mysqli_query($con,"SELECT DISTINCT relation FROM relation_names");
if($rs && mysqli_num_rows($rs))
{
     while($rd=mysqli_fetch_object($rs))
     { 
         echo("<option value='$rd->id'>$rd->relation</option>");
     }
}
mysqli_close($con);
?>
</select>

【讨论】:

    【解决方案2】:

    使用mysqli_query()mysql_query()。因为mysql_query() 扩展在 PHP 5.5.0 中被弃用,在 PHP 7.0.0 中被移除。

    <strong> Select Data </strong> 
    <select name="data1"> 
        <option value=""> NONE </option> 
    <?php
        // Mysql db connection
        $con=mysqli_connect("localhost","my_user","my_password","my_db");
    
        // Check connection
        if (mysqli_connect_errno())
        {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
    
        // Perform queries 
        $rs = mysqli_query($con,"SELECT DISTINCT relation FROM relation_names");
        if($rs && mysqli_num_rows($rs))
        {
             while($rd=mysqli_fetch_object($rs))
             { 
                 echo("<option value='$rd->id'>$rd->name</option>");
             }
        }
        mysqli_close($con);
    ?>
    </select>
    

    参考下面mysqli扩展

    mysqli_connect()

    mysqli_connect_errno()

    mysqli_connect_error()

    mysqli_query()

    mysqli_num_rows()

    mysqli_fetch_object()

    【讨论】:

    • 似乎数据正在加载,但第一个选项显示一些错误,其他选项为空。
    • 已更正,这是我的错误 * 在 sql 查询中,并在 echo 选项中命名,谢谢
    • 但我怎样才能得到与选项值相同的值
    • 请详细说明您的确切要求。
    • 现在我得到了包含数据库中选项的下拉列表,但是当我提交表单时,所选选项没有值,即表中的字段为空白。
    猜你喜欢
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2023-03-11
    相关资源
    最近更新 更多