我试图在Php中填充mySQL查询结果的下拉框。我在网上查了一些例子,我已经在我的网页上试过了,但由于某些原因,他们根本就没有填充我的下拉框。我试图调试代码,但在我看过的网站上没有真正解释,我无法弄清楚每行代码。任何帮助都会很棒:)
以下是我的查询:Select PcID from PC;
答案 0 :(得分:24)
如果您正在使用像WAMP这样的测试环境,则需要确保将用户名设置为root。
以下示例连接到MySQL数据库,发出查询,并从表中的每一行输出<option>
框的<select>
标记。
<?php
mysql_connect('hostname', 'username', 'password');
mysql_select_db('database-name');
$sql = "SELECT PcID FROM PC";
$result = mysql_query($sql);
echo "<select name='PcID'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['PcID'] . "'>" . $row['PcID'] . "</option>";
}
echo "</select>";
?>
答案 1 :(得分:4)
以下是使用MySql
和PHP
下拉列表的代码:
<?
$sql="Select PcID from PC"
$q=mysql_query($sql)
echo "<select name=\"pcid\">";
echo "<option size =30 ></option>";
while($row = mysql_fetch_array($q))
{
echo "<option value='".$row['PcID']."'>".$row['PcID']."</option>";
}
echo "</select>";
?>
答案 2 :(得分:1)
由于mysql_connect
已被弃用,请使用mysqli连接和查询:
$mysqli = new mysqli("hostname","username","password","database_name");
$sqlSelect="SELECT your_fieldname FROM your_table";
$result = $mysqli -> query ($sqlSelect);
然后,如果您在同一页面上有多个具有相同值的选项列表,请将值放在数组中:
while ($row = mysqli_fetch_array($result)) {
$rows[] = $row;
}
然后你可以在同一页面上多次循环数组:
foreach ($rows as $row) {
print "<option value='" . $row['your_fieldname'] . "'>" . $row['your_fieldname'] . "</option>";
}
答案 3 :(得分:1)
经过一段时间的研究和失望......我能够做到这一点
<?php $conn = new mysqli('hostname', 'username', 'password','dbname') or die ('Cannot connect to db') $result = $conn->query("select * from table");?>
//insert the below code in the body
<table id="myTable"> <tr class="header"> <th style="width:20%;">Name</th>
<th style="width:20%;">Email</th>
<th style="width:10%;">City/ Region</th>
<th style="width:30%;">Details</th>
</tr>
<?php
while ($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$row['username']."</td>";
echo "<td>".$row['city']."</td>";
echo "<td>".$row['details']."</td>";
echo "</tr>";
}
?>
</table>
相信我的工作:)
答案 4 :(得分:0)
无需这样做:
while ($row = mysqli_fetch_array($result)) {
$rows[] = $row;
}
您可以直接执行此操作:
while ($row = mysqli_fetch_array($result)) {
echo "<option value='" . $row['value'] . "'>" . $row['value'] . "</option>";
}
答案 5 :(得分:0)
在顶部的第一个设置数据库连接如下:
<?php
$mysqli = new mysqli("localhost", "username", "password", "database") or die($this->mysqli->error);
$query= $mysqli->query("SELECT PcID from PC");
?>
然后在表格
中的HTML中包含以下代码<select name="selected_pcid" id='selected_pcid'>
<?php
while ($rows = $query->fetch_array(MYSQLI_ASSOC)) {
$value= $rows['id'];
?>
<option value="<?= $value?>"><?= $value?></option>
<?php } ?>
</select>
但是,如果您正在使用materialize css或任何其他开箱即用的CSS,请确保未隐藏或禁用选择字段。
答案 6 :(得分:0)
如果要在下拉列表中同时使用ID和名称怎么办?这是该代码:
$mysqli = new mysqli($servername, $username, $password, $dbname);
$sqlSelect = "SELECT BrandID, BrandName FROM BrandMaster";
$result = $mysqli -> query ($sqlSelect);
echo "<select id='brandId' name='brandName'>";
while ($row = mysqli_fetch_array($result)) {
unset($id, $name);
$id = $row['BrandID'];
$name = $row['BrandName'];
echo '<option value="'.$id.'">'.$name.'</option>';
}
echo "</select>";