2016-09-23 79 views
0

我只是進入PHP編碼。我知道我可能有什麼不被認爲是最佳做法,但我的問題是使用php數組的echo聲明

如何在echo語句中創建表單的select部分。

我想從mysqli_fetch_array數據庫中選擇行。

我想通過我的數據庫的每一行並創建表單的選擇部分,以便每個選擇將具有與vendor_id對應的值,我希望選擇打印出用戶的供應商名稱選擇。

最後,我想擁有類似於我發佈的圖片,而不必硬編碼供應商信息。

<HTML> 
<?php 

# keep the sensitive information in a separated PHP file. 
include 'dbinfo.php'; 

$con=mysqli_connect($server,$user,$pass,$dbname) 
    or die("<br>Cannot connect to DB\n"); 

session_start(); 
$row = $_SESSION['row']; 

$query = " SELECT * FROM VENDOR group by vendor_id"; 
$result = mysqli_query($con,$query); 



echo "<a href=\"CPS5920_employee_login.php\">Employee logout</a>"; 
echo "<br>"; 
echo "<font size=4><b>Add products</b></font>"; 
echo "<br>"; 


echo "<form name='input' action='CPS5920_product_insert.php' method='post' > 
<br> Product Name: <input type='text' name='product_name' required='required'> 
<br> description: <input type='text' name='description' required='required'> 
<br> Cost: <input type='text' name='cost' required='required'> 
<br> Sell Price: <input type='text' name='sell_price' required='required'> 
<br> Quantity: <input type='text' name='quantity' required='required'><br>"; 

while($venrow = mysqli_fetch_array($result, MYSQLI_ASSOC)){ 
    echo " Select vendor: <SELECT> 
    <option value = $venrow['vendor_id']> $venrow['name']</option> 
    </SELECT>"; 
} 

#ignore this echo. it is hardcoded at the moment 
echo "<br><input type='hidden' name='employee_id' value= '2'> 
<br><input type='submit' value='Submit'> 
</form>"; 


mysqi_close($con); 

?> 
</HTML> 

enter image description here

+1

你想填充上的選擇框的變化動態形式?您可能需要爲此使用xmlhttprequest。 – Ghost

+0

創建頁面時我希望能夠引用數據庫,檢查我的供應商,並使這些供應商可選擇的選項。如果數據庫發生變化,我希望這個頁面是動態的,下次打開它時,它會包含新的供應商作爲選項。 – overboard182

+1

您不必回顯所有的HTML。你可以簡單地寫下它,並把PHP中的任何PHP標籤,即 kkyeboah

回答

2

我認爲這個問題很簡單。 OP只是想與來自數據庫的供應商一起填充<select></select>字段。當添加新供應商並且用戶訪問了該表單時,供應商字段將用新添加的供應商進行更新。


只是想指出:

  • <select></select> while循環之外。
  • 請確保您正在正確連接到您的數據庫。
  • Concat正確
  • 運行您提供的代碼時是否收到任何錯誤?
  • 您的表名實際上都是大寫? VENDOR?請記住MySQL是case sensitive

<select name="vendor"> 

    <?php 

     $query = "SELECT * FROM VENDOR group by vendor_id"; 
     $result = mysqli_query($con, $query); 

     while($venrow = mysqli_fetch_array($result)){ 
      echo '<option value="'.$venrow['vendor_id'].'">'.$venrow['name'].'</option>'; 
     } 

    ?> 

</select> 
+0

非常明確的答案。昨天實際上想出瞭解決辦法,但忘了編輯。我的問題是concat和選擇標籤。目前連接到不是我自己的數據庫,所以我沒有權限編輯名稱等。表名都是大寫字母,是的。無論如何,謝謝! – overboard182