[英]Populate a Drop down box from a mySQL table in PHP
我試圖在 PHP 中從 mySQL 查詢的結果填充下拉框。 我在網上查找了一些示例,並在我的網頁上嘗試了它們,但出於某種原因,它們根本沒有填充我的下拉框。 我試圖調試代碼,但在我查看的網站上並沒有真正解釋它,我無法弄清楚每一行代碼是什么。 任何幫助都會很棒:)
這是我的查詢: Select PcID from PC;
您需要確保如果您使用的是 WAMP 之類的測試環境,請將您的用戶名設置為 root。 這是一個連接到 MySQL 數據庫、發出查詢並從表中的每一行輸出<select>
框的<option>
標記的示例。
<?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>";
?>
下面是使用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>";
?>
由於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>";
}
經過一段時間的研究和失望......我能夠彌補這一點
<?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>
相信我它有效:)
不需要這樣做:
while ($row = mysqli_fetch_array($result)) {
$rows[] = $row;
}
你可以直接這樣做:
while ($row = mysqli_fetch_array($result)) {
echo "<option value='" . $row['value'] . "'>" . $row['value'] . "</option>";
}
在頂部首先設置數據庫連接如下:
<?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,請確保選擇字段未隱藏或禁用。
如果您想在下拉列表中同時使用 id 和 name 怎么辦? 這是代碼:
$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>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.