2014-03-05 15 views
0

嗨所有我在下面創建了一個表單(entryform.php)來輸入訂單詳細信息。 表格包含:part_id,價格,型號。 我已經創建了connect.php來連接數據庫,而custompcorder.php在order_details表和entryform.php中插入數據來輸入數據。如何使用下拉菜單自動填充MySQL數據庫中的數據表格

以下是我希望對我的entryform.php做的事情: 1-將零件輸入字段設置爲下拉列表,從零件表值中保存part_id和part_id以保存part_id,但顯示零件名稱報名表。 2-在下拉菜單中選取零件後,我希望字段價格和型號自動填入零件表中的適當數據。自動填充將使用part_id來獲取正確的數據。正如您在下面的表格中看到的那樣,一次會輸入很多行。

entryform.php 

<?php 

<form action="../action/custompcorder.php/" method="post"> 
<p>Part: <input type="text" name="part_id"/> Price: <input type="text" name="price"/> Model: <input type="text" name="model"/></p> 
<p>Part: <input type="text" name="part_id2"/> Price: <input type="text" name="price2"/> Model: <input type="text" name="model2"/></p> 
<input type="submit" value="Submit" /></form> 

?> 



connect.php 

<?php 

$dbhost = 'localhost'; 
$dbuser = 'user2'; 
$dbpass = 'password'; 
$dbname = 'db3'; 

$con=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
?> 


custompcorder.php 

<?php 
    include_once '../action/connect.php'; 

$sql="INSERT INTO order_details (part_id, price,model) 
VALUES 
('$_POST[part_id]','$_POST[price]','$_POST[model]'), 
('$_POST[part_id2]','$_POST[price2]','$_POST[model2]')"; 


?> 
+1

那麼你到目前爲止嘗試過什麼? – Chitowns24

回答

1

首先,您的輸入字段是文本,所以它在那裏沒有意義。我會爲它寫一個函數,所以你可以簡單地改變它裏面的查詢。下面是一個例子。

Editted在評論questio後

有你在谷歌瀏覽該網頁的開發工具檢查?它向你展示了佈局和CSS(第1部分,標記)。以及它如何建立。從那裏開始,你可以檢查你需要使用哪些功能。在你的情況下,你需要一些下拉菜單,你需要做一些數據庫工作。例如,假設您想要顯示RAM內存,並且您有一個名爲models的數據庫,請確保您有一個partId, partPrice, partName and partType。例如,如果你有RAM,並且它是一個RAM存儲器部分,比如你給它賦值1。在你的情況你下拉的查詢會(正如我上面解釋的)

function LoadRAMParts(){ 
    $query = "SELECT * 
     FROM models 
     WHERE partType = '1'; 
     ORDER BY partName DESC;"; 
    $resultaat=mysqli_query($query); 
    return $resultaat; 
} 

等你拿現在回到你所有的RAM內存部分,現在你只需簡單地加載到您的下拉菜單中使用一點PHP

function MakeRAMMemoryDropDown(){ // define name of the php function and open the function 
echo "<select name='RAMPartId' class='dropdown'>"; // open the dropdown with the name RAMPPartId 
    $results = LoadRAMParts(); // Load in the query from earlier 
    while($row = mysqli_fetch_array($results)){ // while lets it loop through your results as long as there are results 
    echo "<option value='".$row['partId']."'>" // the value for the ID when it's chosen 
    .$row['partName']."</option>"; // the name of the product the user sees 
    } // end of the loop 
echo "</select>"; // end of the dropdown 
} // end of the php function 

這是你在一個單獨的文件中執行的,它包含在頂部。 (我第一次運行我的查詢,然後再創建下拉式菜單,否則就變成了衝突,因爲我把我的下拉菜單功能中的函數必須excist,下拉之前。對我來說,它看起來像這樣。

enter image description here

那麼作爲最後一部分,我希望我也給你解釋一下,你需要在函數調用到您想要使用它你的PHP頁面,只是將代碼放在簡單:

<?php MakeRAMMemoryDropDown() ?> 

舉例:

enter image description here

這就是所謂的動態加載你的內容。現在我使用不同類型的代碼佈局和生成內容的不同想法,但是對於每個程序員來說都是自己的風格。這是我加載我的內容的方式。

至於你的加載價格的問題,你必須與AJAX(異步JavaScript和XML),但那不是我的一杯茶,我不能幫你在那裏。抱歉。

我希望我向你解釋,如果不是,我希望你能找到另一種方式。

+0

謝謝你Dorvalla的回答。我在網絡編程中很新,我無法理解你的答案。 我發佈我的代碼的原因是因爲我看到太多的例子實現我想要的部分,我不能把它們收集。我希望表單看起來像這樣:幾乎像這樣http://www.pugetsystems.com/nav/obsidian/customize.php我將在每個下拉列表中使用sql查詢來過濾顯示的內容。 – user3383794

+0

@ user3383794爲我更新了我的awnser。 – Dorvalla

+0

謝謝我能夠使用函數在許多行上創建下拉菜單。現在我需要幫助解決第二個問題。自動在選擇部件ID後,使用來自Mysql的數據填充價格和狀態字段。 – user3383794

相關問題