【问题标题】:PHP populating Dropdown listPHP填充下拉列表
【发布时间】:2015-07-09 14:37:29
【问题描述】:

我需要一些帮助来填充下拉列表,我一直在四处寻找通过一些试验和错误的解决方案,但我必须承认,我从未接触过 PHP。我有以下代码,但它没有显示任何内容,我认为我的问题出在连接上,所以我的问题是如何建立这样的连接:

<?php
    $sql = mysql_query("SELECT ProvinceNameFR FROM Province");
    while ($row1 = mysql_fetch_array($sql)) {
        echo "<option value='".$row1['value']."'>".$row1['value']."
</option>";    
    }  
?>

我该怎么做?我参与了其他人开发的项目。 谢谢

【问题讨论】:

  • 只需几步,您就可以到达那里。查看PHP_MYSQL 获取 mysql 教程。 PHP ECHO 用于 PHP 回显,Tag_Option 用于简短的 HTML 教程。
  • 我发现这个项目正在使用 Lavarel。在代码顶部还发现以下内容: $record_set = sqlsrv_query($GLOBALS["dbcon"], $tsql, array(&$resto_id_value));仅包含在 if 语句中,我越看这段代码就越没有意义

标签: php


【解决方案1】:

您还有一些工作要做。首先,使用 MySQLi 或 PDO 代替 MySQL。 MySQL 已弃用,最终将在未来版本中删除。 http://php.net/manual/en/book.mysqli.php

一些明显的错误。您的查询是 SELECT ProvinceNameFR FROM Province,但您在应该使用 $row1['ProvinceNameFR'] 时尝试获取 $row1['value'],因为这是您选择的列。

您还需要用实际的&lt;select&gt; 标签包装您的&lt;option&gt;。您可能已经这样做了,我只是在这里看不到。

所以

<?php
$sql = mysql_query("SELECT ProvinceNameFR FROM Province");
echo "<select>";
while ($row1 = mysql_fetch_array($sql)) {
echo "<option value='".$row1['ProvinceNameFR']."'>".$row1['ProvinceNameFR']."
</option>";    
}  
echo "</select>";
?>

这是假设一切都在数据库端工作。如果没有尝试在最后添加var_dump(mysql_error());。这应该会打印出最新的错误并帮助您找出问题所在。

【讨论】:

    【解决方案2】:

    我建议使用 PDO 连接到 MySQL 数据库,因为旧的 mysql_query、mysql_connect 系统已被贬值。

    一个非常基本的入门方法是:

        $db = new PDO('mysql:host=HOST;dbname=DATABASENAME', USERNAME, PASSWORD);
        $query = "SELECT * FROM Province";
    
        $stmt = $db->query($query);
        $results['data'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
        echo '<select>';
            foreach ($results['data'] as $row){
                echo "<option value='".$row['ProvinceId']."'>".$row['ProvinceNameFR']."</option>";    
            }
        echo '</select>';
    

    您还需要 &lt;select&gt; 选项周围的 html 包装器。并且您的字段名称需要设置为与表中的内容相匹配。我还假设 value 字段中应该有一个 ID。

    【讨论】:

      猜你喜欢
      • 2015-03-14
      • 2022-01-11
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      相关资源
      最近更新 更多