PHP数组空白选择选项
我目前正在一个大学项目中使用PHP创建一个有效的电子商务网站。尽管我已经使用HTML很多年了,PHP仍然是一门外语。我仍然在学习最基本的东西。我发现学习的最好方法就是拉小提琴 我遇到了一个HTML选择下拉列表的问题,该下拉列表从PHP数组收集其值,该数组是通过MySQL数据库收集的。这是我的密码:PHP数组空白选择选项,php,mysql,select,Php,Mysql,Select,我目前正在一个大学项目中使用PHP创建一个有效的电子商务网站。尽管我已经使用HTML很多年了,PHP仍然是一门外语。我仍然在学习最基本的东西。我发现学习的最好方法就是拉小提琴 我遇到了一个HTML选择下拉列表的问题,该下拉列表从PHP数组收集其值,该数组是通过MySQL数据库收集的。这是我的密码: <?php session_start(); //Connect to Session include "conn.php"; //Retrieve Header include "heade
<?php
session_start();
//Connect to Session
include "conn.php";
//Retrieve Header
include "header.php";
//Query
if (isset($_GET['id'])){
$product_id = $_GET['id'];
$q="SELECT ProductName,img,ProductID,Description,p_spec1,p_spec2,p_spec3,p_spec4,p_spec5,Price,size_1,size_2,size_3,size_4,size_5 FROM Products
WHERE ProductID=$product_id";
$result = mysqli_query($_SESSION['conn'],$q);
//Display
if ($row = mysqli_fetch_array($result)){
//DO NOT SHOW BLANK ARRAYS METHOD ONE
$row = array_filter($row);
echo "<div>
<p><b>Name:</b> $row[0]</p>
<p><img src=".$row[1]."></p>
<p><b>Product Code: </b>$row[2]</p>
<p><b><u>Product Description:</b></u></p>
<p>$row[3]</p>
<p><b><u>Product Spec:</b></u> <li>$row[4]</li><li>$row[5]</li><li>$row[6]</li><li>$row[7]</li><li>$row[8]</li></p>
<p><b>Price:</b> £$row[9]</p>
<p><b>Quantity:</b>
<select>
<option>1</option>
<option>2</option>
</select>
</p>
<p><b>Size:</b>
<select>
<option>$row[10]</option>
<option>$row[11]</option>
<option>$row[12]</option>
<option>$row[13]</option>
<option>$row[14]</option>
</select>
</p>
</div>";
}
else {
echo $row="";
}
//Add Item to basket
echo "<div><a href=\"cart.php?action=add&product=$product_id\">
Add to Bag</a></div>";
}
//Retrieve Footer
include "footer.php";
?>
正如你可能已经做的那样。。。我认为问题在于我宣布了五种选择。有没有一种方法可以让我声明一个值,如果其他值保存在数据库中,它们将作为一个选项添加
非常感谢您的帮助 //连接到会话
//Connect to Session
include "conn.php";
//Retrieve Header
include "header.php";
//Query
if (isset($_GET['id'])){
$product_id = $_GET['id'];
$q="SELECT ProductName,img,ProductID,Description,p_spec1,p_spec2,p_spec3,p_spec4,p_spec5,Price,size_1,size_2,size_3,size_4,size_5 FROM Products
WHERE ProductID=$product_id";
$result = mysqli_query($_SESSION['conn'],$q);
//Display
if ($row = mysqli_fetch_array($result)){
//DO NOT SHOW BLANK ARRAYS METHOD ONE
$row = array_filter($row);
$option ='';
for($i=10;$i<15;$i++){
if(isset($row[$i]) && !empty($row[$i])){
$option.='<option>'".$row[10]."'</option>';
}
echo "<div>
<p><b>Name:</b> $row[0]</p>
<p><img src=".$row[1]."></p>
<p><b>Product Code: </b>$row[2]</p>
<p><b><u>Product Description:</b></u></p>
<p>$row[3]</p>
<p><b><u>Product Spec:</b></u> <li>$row[4]</li><li>$row[5]</li><li>$row[6]</li><li>$row[7]</li><li>$row[8]</li></p>
<p><b>Price:</b> £$row[9]</p>
<p><b>Quantity:</b>
<select>
<option>1</option>
<option>2</option>
</select>
</p>
<p><b>Size:</b>
<select>".$option."
</select>
</p>
</div>";
}
else {
echo $row="";
}
//Add Item to basket
echo "<div><a href=\"cart.php?action=add&product=$product_id\">
Add to Bag</a></div>";
}
//Retrieve Footer
include "footer.php";
?>
包括“conn.php”;
//检索标题
包括“header.php”;
//质疑
如果(isset($\u GET['id'])){
$product\U id=$\U GET['id'];
$q=“从产品中选择产品名称、img、ProductID、描述、规格1、规格2、规格3、规格4、规格5、价格、规格1、规格2、规格3、规格4、规格5
其中ProductID=$product_id”;
$result=mysqli\u查询($\u会话['conn'],$q);
//展示
if($row=mysqli\u fetch\u数组($result)){
//不显示空白数组方法1
$row=数组过滤器($row);
$option='';
对于($i=10;$i)
最好的选择是循环遍历这些值。如果确定起始值为$row[10],则可以使用for循环进行管理。如下所示
for ($i=10;i<lenght_of_array;i++)
{
<option>$row[i]</option>
}
对于($i=10;i您到底有什么问题?如果在$row[10]-$row[14]字段中不总是有值,那么您应该执行一个循环
echo "<div>
<p><b>Name:</b>".$row[0]."</p>
<p><img src='".$row[1]."'></p>
<p><b>Product Code: </b>".$row[2]."</p>
<p><b><u>Product Description:</b></u></p>
<p>".$row[3]."</p>
//Do this up to select box and then
<select>";
for($i=10;$i<15;$i++) {
if($row[$i]!='')
echo "<option>".$row[$i]."</option>";
}
echo"</select>
</p>
</div>";
echo”
名称:“.$行[0]”
产品代码:“.$行[2]”
产品说明:
“$row[3]”
//执行此操作以选择框,然后
";
对于($i=10;$i假设您的大小为空,否则您可以在回显之前检查它们:
if (!is_null($row10)) {
echo "<option>" . $row10 . "</option>";
}
如果(!为空($row10)){
回显“$row10.”;
}
选择框中会有多少选项?很抱歉没有说明这一点……总共有5种可能的大小选项($row10到$row14)您的$row是否包含任何值??我认为您混淆了mysql\u query()和mysqli\u query();为什么不使用mysql\u fetch\u assoc()相反?那太棒了。为你们的帮助干杯!大家都在工作,我肯定会在某个时候带着更多的问题再次出现。干杯——马特·基德刚刚编辑