使用php数组的echo声明

使用php数组的echo声明

问题描述:

我只是进入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

我认为这个问题很简单。 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