我是编程PHP的初学者。 我有以下HTML代码和两个PHP代码" include"。我不确定为什么ISSET()根本不会开火。 如果我删除了isset(){}它会完美地提示数据... 但是当我尝试使用isset()时,它没有显示任何数据。有人可以帮忙吗?
<form action="functions/pos-getPrice.php"class="form-horizontal"
method="post">
<div class="form-group">
<label class="col-md-4 control-label">Item</label>
<div class="col-md-6 selectContainer">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-list"></i>
</span>
<select name="item" id="item" class="form-control selectpicker" >
<option>Please select your item</option>
<?php include "functions/pos-getItems.php" ?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">Price</label>
<div class="col-md-6 selectContainer">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-list"></i>
</span>
<select name="price" class="form-control selectpicker" >
<option value="">Please select your price</option>
<?php include "functions/pos-getPrice.php" ?>
</select>
</div>
</div>
</form>
&#13;
<?php
if(isset($_POST['item']) && $_POST['item'] == 'jacket') {
include "db-Info.php";
$res = mysqli_query($con, "select id, price, pointRequired from
tblPrice");
while($row = mysqli_fetch_array($res))
{
$price = $row['price'];
$pointRequired = $row['pointRequired'];
echo "<option value=\"".$row['id']."\">";
echo "Price: $price" ?> <?php echo "Point: $pointRequired";
echo "</option>";
}
}
?>
&#13;
<?php
include "db-Info.php";
$res = mysqli_query($con, "select distinct item from tblPrice");
while($row = mysqli_fetch_array($res)){
$array = $row['item'];
echo "<option value=\"".$row['item']."\">";
echo $array;
echo "</option>";
}
?>
&#13;
答案 0 :(得分:0)
据我所知,我假设您的商品清单正确加载,而您的价目表没有?当用户在项目中选择时,您是否期望价格表发生变化?
在这种情况下,加载包含表单的页面时没有$ _POST数据。选择下拉列表中的项目不会发送任何类型的POST请求,从而导致价格发生变化。因此,在页面加载时,您的价格脚本正在检查是否设置了$ _POST [&#34; item&#34;],如果该项目是&#34;夹克,&#34;它不是在页面加载时。所以没有价格加载,那是那个;该脚本在此之后不会继续检查该项目是什么。
如果您希望根据所选项目动态加载价格,则您需要进行一次AJAX调用,以便在每次选择项目时获取价格选项,或者您可以预加载所有项目页面加载时预先定价数据,然后使用javascript填充更改项目选择器的价格选项。