我想從mySQL查詢的結果中填充下拉框,在PHP中。我在網上查了一些例子,我在網頁上試過,但由於某些原因,他們根本沒有填充我的下拉框。我試圖調試代碼,但在我看到的網站上並沒有真正解釋,我無法弄清楚每行代碼。任何幫助將是巨大的:)從PHP中的mySQL表中填充下拉框
這裏是我的查詢:Select PcID from PC;
我想從mySQL查詢的結果中填充下拉框,在PHP中。我在網上查了一些例子,我在網頁上試過,但由於某些原因,他們根本沒有填充我的下拉框。我試圖調試代碼,但在我看到的網站上並沒有真正解釋,我無法弄清楚每行代碼。任何幫助將是巨大的:)從PHP中的mySQL表中填充下拉框
這裏是我的查詢:Select PcID from PC;
您需要確保,如果您使用的是測試環境,比如WAMP設置您的用戶名作爲根。 下面是一個連接到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>";
}
沒有必要做這個:
while ($row = mysqli_fetch_array($result)) {
$rows[] = $row;
}
您可以直接做到這一點:
while ($row = mysqli_fetch_array($result)) {
echo "<option value='" . $row['value'] . "'>" . $row['value'] . "</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>
相信我,它的工作原理:)
首先建立數據庫連接如下頂部:
<?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>
但是,如果您使用物化css或任何其他開箱即用的CSS,請確保選擇字段不隱藏或d isabled。
你知道如何手工編寫下拉框嗎?那將是一個好的開始。另外,您的整個查詢沒有進入頁面。 – 2011-03-04 04:33:45
你是說你需要爲選擇框創建html,並用查詢返回的數據填充選項? – Kyle 2011-03-04 04:34:01
@ Cybermate - 我是PHP的新手@jcomeau_ictx:是的,我知道如何手工編寫下拉框,@ Kyle:我需要PHP代碼,並且從其他評論中我假設我忘記編碼框架下拉框。 – Donnie 2011-03-04 04:40:13