从 phpmyadmin 创建一个填充的下拉列表
Posted
技术标签:
【中文标题】从 phpmyadmin 创建一个填充的下拉列表【英文标题】:creating a filled drop down list from phpmyadmin 【发布时间】:2016-08-07 09:45:08 【问题描述】:我需要创建一个填充的下拉列表,该列表链接到我在 phpmyadmin 中名为“dog”的表。我需要一个用户能够从列表中选择一只狗并按搜索并显示结果。并且所有信息都存储在我的 phpmyadmin 表中。这是我到目前为止所拥有的: 它不起作用,它只是一个空的下拉菜单,它什么也不做。请帮忙。
<?php
// set up connection parameters
$dbHost = 'hostnamegoeshere';
$databaseName = 'databasenamehere';
$username = 'usernamehere';
$password = 'passwordhere';
// make the database connection
$db = new PDO("mysql:host=$dbHost;dbname=$databaseName;charset=utf8","$username", "$password");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // enable error handling
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); // turn off emulation mode
?>
//Return an error if bad connection
if ($mysqli->connect_error)
die('Connect Error (' . $mysqli->connect_errno . ')'
.$mysqli->connect_error);
//query database for results
$query = $mysqli->query("SELECT * FROM 'dog'");
?>
<h3> Search dogs</h3>
<select>
<?php
$stmt = $mysqli->prepare($query);
$stmt->execute();
$res = $stmt->get_result();
while($dropdown = $res->fetch_array(MYSQLI_ASSOC))
echo '<option value="' . $dropdown['dog'] . '"></option>'; ?>
</select>
如果有任何帮助,我将不胜感激
【问题讨论】:
【参考方案1】:代码中的问题数
1) 将表名(
SELECT * FROM 'dog
')引号括起来2) 不要同时使用准备和查询。(
$mysqli->query,$mysqli->prepare
)3) 将文本添加到您的选项中(
<option value="value"></option>
)4) 你正在混合 mysqli 和 pdo
你的代码是
用 mysqli 创建你的连接
$mysqli=mysqli_connect($dbHost,$username,$password,$databaseName);
if ($mysqli->connect_error)
die('Connect Error (' . $mysqli->connect_errno . ')'
.$mysqli->connect_error);
<h3> Search dogs</h3>
<select>
<?php
$stmt = $mysqli->query("SELECT * FROM dog");// wrap off and use only query to run
$stmt->execute();
$res = $stmt->get_result();
while ($dropdown = $res->fetch_array(MYSQLI_ASSOC))
echo '<option value="' . $dropdown['dog'] . '">'.$dropdown['dog'].'</option>';// add text to dropdown
?>
</select>
【讨论】:
感谢您的回复,我在下拉页面上收到以下消息: //如果连接不良则返回错误 if ($mysqli->connect_error) die('Connect Error (' . $mysqli->connect_errno .')' .$mysqli->connect_error); //查询数据库结果 $query = $mysqli->query("SELECT * FROM 'dog'"); ?> 这是在使用您的代码之后,谢谢,但它似乎仍然无法正常工作 表示您无法与数据库建立连接!! 啊,你在混合 mysqli 和 pdo 感谢您的帮助!多数民众赞成摆脱了这些错误 :) 实际下拉仍然是空的你有什么建议为什么它不带回我的 phpmyadmin 表中的结果? 只需使用我提供的代码并检查你得到了什么!【参考方案2】:使用这个
$res = $stmt->get_result();
$res =$res->fetch_array(MYSQLI_ASSOC)
foreach($res as $a)
echo '<option value="' . $a['dog'] . '">'. $a['dog'] .'</option>'; ?>
地点
$res = $stmt->get_result();
while($dropdown = $res->fetch_array(MYSQLI_ASSOC))
echo '<option value="' . $dropdown['dog'] . '"></option>'; ?>
【讨论】:
以上是关于从 phpmyadmin 创建一个填充的下拉列表的主要内容,如果未能解决你的问题,请参考以下文章