需要一些幫助。這是一個非常簡單的網絡應用程序,我正在開發,但只需要一些幫助。使用PHP更新MySQL數據庫中的HTML組合框
以下是設置。我有一個組合框的HTML表單。我需要的只是使用名爲'supplier'的mysql表中的條目更新此組合框。這張表'供應商'的輸入是通過我已經設置的網站上的另一種形式。我需要從表'supplier'自動更新這個組合框的幫助。請讓我知道它的PHP代碼。我也包含了我的代碼。提前致謝!我也包含了html表單。
需要一些幫助。這是一個非常簡單的網絡應用程序,我正在開發,但只需要一些幫助。使用PHP更新MySQL數據庫中的HTML組合框
以下是設置。我有一個組合框的HTML表單。我需要的只是使用名爲'supplier'的mysql表中的條目更新此組合框。這張表'供應商'的輸入是通過我已經設置的網站上的另一種形式。我需要從表'supplier'自動更新這個組合框的幫助。請讓我知道它的PHP代碼。我也包含了我的代碼。提前致謝!我也包含了html表單。
替換代碼
$result = mysql_query("SELECT supplier FROM supplier");
while($row = mysql_fetch_array($result))
{
/*echo '<form action="">';*/
echo "<select name='supplier'>";
echo "<option value = '$row[supplier]'>""</option>";
echo "</select>";
與
$result = mysql_query("SELECT supplier FROM supplier");
echo "<select name='supplier'>";
while($row = mysql_fetch_assoc($result))
{
echo "<option value = '".$row[supplier]."'>".$row[supplier]."</option>";
}
echo "</select>";
所以,
是什麼問題?在另一個屏幕上輸入供應商的新條目時,您的腳本無法工作,或者您希望更新一個屏幕上的活動Combobox?
好,一些提示:
所以,沒有檢查它:
/*echo '<form action="">';*/
echo "<select name='supplier'>";
while($row = mysql_fetch_array($result))
{
echo "<option value = '".$row["supplier"]."'>".$row["supplier"]."</option>";
}
echo "</select>";
我只想要在另一個屏幕上輸入供應商的新條目時更新活動組合框。 :) – vjrngn
真的嗎?這將是奇怪的AJAX的東西! –
你的問題是在這裏:
$result = mysql_query("SELECT supplier FROM supplier");
while($row = mysql_fetch_array($result))
{
/*echo '<form action="">';*/
echo "<select name='supplier'>";
echo "<option value = '$row[supplier]'>""</option>";
echo "</select>";
您正在mysql數據循環內部創建下拉框(Select
),正如@Hitesh所解釋的那樣。 eed在循環外部創建,並只回顯內部的數據結果。例如:
$result = mysql_query("SELECT supplier FROM supplier");
echo "<select name='supplier'>";
while($row = mysql_fetch_array($result))
{
echo "<option value=".$row['supplier'].">".$row['supplier']."</option>";
}
echo "</select>";
這將輸出您的下拉框,將所有供應商名稱作爲值和顯示的文本選項。
如果你試圖做到以下幾點:
$result = mysql_query("SELECT supplier FROM supplier");
while($row = mysql_fetch_array($result))
{
/*echo '<form action="">';*/
echo "<select name='supplier'>";
echo "<option value = '$row[supplier]'>""</option>";
echo "</select>";
}
你會剛剛結束了與儘可能多的下拉框,你必須在你的數據庫供應商。這是因爲您正在爲找到的每個記錄創建一個新的Select
框。
此外,沒有指定option
標記之間的第二個$row['supplier']
標記,您最終會得到一個空白(空的)下拉框。
希望這會有所幫助。
是的,我得到了@LokiSinclair :)謝謝..但我仍然沒有得到我想要的東西。我發佈了正在發生的事情的截圖。 – vjrngn
下面是完整的代碼:
PHP代碼:
<?php
// select box open tag
$selectBoxOpen = "<select name='supplier'>";
// select box close tag
$selectBoxClose = "</select>";
// select box option tag
$selectBoxOption = '';
// connect mysql server
$con = mysql_connect("localhost","user","pass");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
// select database
mysql_select_db("rtgs", $con);
// fire mysql query
$result = mysql_query("SELECT supplier FROM supplier");
// play with return result array
while($row = mysql_fetch_array($result)){
$selectBoxOption .="<option value = '".$row['supplier']."'>".$row['supplier']."</option>";
}
// create select box tag with mysql result
$selectBox = $selectBoxOpen.$selectBoxOption.$selectBoxClose;
?>
HTML代碼:
<form action="ntxn.php" method="post">
<table>
<tr>
<td>Supplier Name:</td>
<td>
<?php echo $selectBox;?>
</td>
</tr>
<tr>
<td>Bill No. :</td>
<td><input type ="text" name="billno"/></td>
</tr>
<tr>
<td>Bill Date : </td>
<td><input type="date" name="billdate"/></td>
</tr>
<tr>
<td>Bill Amount : </td>
<td><input type="text" name="billamt"/></td>
</tr>
<tr>
<td>NEFT/RTGS No. :</td>
<td><input type="text" name="rtgs"/></td>
</tr>
<tr>
<td><input type="submit" name="Save"/></td>
</tr>
</table>
</form>
沒有u得到什麼錯誤代碼?放置
提示:更改數據庫連接到此:'$ con = mysql_connect(「localhost」,「user」,「pass」)或die('Could not connect:'。mysql_error()); mysql_select_db(「rtgs」,$ con)或die('無法選擇數據庫');' 然後把這段代碼放到一個單獨的文件(connect.php)中,並將它包含在每一頁的頂部,數據庫從'include('connect.php');' –