通过在PHP中使用include,isset()无法正常工作

时间:2017-10-12 12:33:57

标签: php jquery html

我是编程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;
&#13;
&#13;

&#13;
&#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" ?> &nbsp;<?php echo "Point: $pointRequired";
        echo "</option>";
    } 
}
?>
&#13;
&#13;
&#13;

&#13;
&#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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

据我所知,我假设您的商品清单正确加载,而您的价目表没有?当用户在项目中选择时,您是否期望价格表发生变化?

在这种情况下,加载包含表单的页面时没有$ _POST数据。选择下拉列表中的项目不会发送任何类型的POST请求,从而导致价格发生变化。因此,在页面加载时,您的价格脚本正在检查是否设置了$ _POST [&#34; item&#34;],如果该项目是&#34;夹克,&#34;它不是在页面加载时。所以没有价格加载,那是那个;该脚本在此之后不会继续检查该项目是什么。

如果您希望根据所选项目动态加载价格,则您需要进行一次AJAX调用,以便在每次选择项目时获取价格选项,或者您可以预加载所有项目页面加载时预先定价数据,然后使用javascript填充更改项目选择器的价格选项。