这是我的php和html代码,它通过循环获取存储在数据库中的所有产品名称来更新我的页面。
它只为每个偶数产品名称提供灰色背景。这就是为什么两个李在那里。
while($row1 = mysqli_fetch_array($result1)){
$qstr = http_build_query(array("productname"=>$row1['productname']));
if($count%2 == 0){
?>
<li>
<div class="row">
<div class="col-sm-4">
<h4 class="text-center" id="productname1"><a href="productdesc.php?<?= $qstr ?>"><?php echo $row1['productname']; ?></a></h4>
</div>
<div class="col-sm-4">
<img src="data:image/png;base64,<?php echo base64_encode($row1['image']); ?>" />
</div>
<div class="col-sm-2">
<h4 class="text-center">Quantity :</h4>
<div class="floating-box">
<select name="quantity1">
<option value="1"<?php if($row['quantity'] == '1'){echo 'selected="selected"';} ?>>1</option>
<option value="2"<?php if($row['quantity'] == '2'){echo 'selected="selected"';} ?>>2</option>
<option value="3"<?php if($row['quantity'] == '3'){echo 'selected="selected"';} ?>>3</option>
<option value="4"<?php if($row['quantity'] == '4'){echo 'selected="selected"';} ?>>4</option>
<option value="5"<?php if($row['quantity'] == '5'){echo 'selected="selected"';} ?>>5</option>
<option value="6"<?php if($row['quantity'] == '6'){echo 'selected="selected"';} ?>>6</option>
</select>
</div>
<div class="floating-box">
<h5><span style="color:#000000"> x </span>Rs.<?php echo $row1['price']; ?></h5>
</div>
</div>
<div class="col-sm-2">
<h4 class="text-center">Rs.<?php echo $row['quantity']*$row1['price']; ?></h4>
</div>
</div>
</li>
<?php }
else{ ?>
<li class="bg-grey">
<div class="row">
<div class="col-sm-4">
<h4 class="text-center" id="productname2"><a href="productdesc.php?<?= $qstr ?>"><?php echo $row1['productname']; ?></a></h4>
</div>
<div class="col-sm-4">
<img src="data:image/png;base64,<?php echo base64_encode($row1['image']); ?>" />
</div>
<div class="col-sm-2">
<h4 class="text-center">Quantity :</h4>
<div class="floating-box">
<select name="quantity2">
<option value="1"<?php if($row['quantity'] == '1'){echo 'selected="selected"';} ?>>1</option>
<option value="2"<?php if($row['quantity'] == '2'){echo 'selected="selected"';} ?>>2</option>
<option value="3"<?php if($row['quantity'] == '3'){echo 'selected="selected"';} ?>>3</option>
<option value="4"<?php if($row['quantity'] == '4'){echo 'selected="selected"';} ?>>4</option>
<option value="5"<?php if($row['quantity'] == '5'){echo 'selected="selected"';} ?>>5</option>
<option value="6"<?php if($row['quantity'] == '6'){echo 'selected="selected"';} ?>>6</option>
</select>
</div>
<div class="floating-box">
<h5><span style="color:#000000"> x </span>Rs.<?php echo $row1['price']; ?></h5>
</div>
</div>
<div class="col-sm-2">
<h4 class="text-center">Rs.<?php echo $row['quantity']*$row1['price']; ?></h4>
</div>
</div>
</li>
<?php }
$count=$count+1;
}
我有jQuery函数用于检查哪个选项被更改,我正在使用以下函数发送ajax请求。
$(function(){
$("select[name='quantity1']").change(function() {
var qty = $("select[name='quantity1'] option:selected").val();
var productname = $("#productname1").text();
$.ajax({
url : url here--,
type:"GET",
success:function(html){
//location.reload(true);
}
});
});
});
$(function(){
$("select[name='quantity2']").change(function() {
var qty = $("select[name='quantity2'] option:selected").val();
var productname = $("#productname2").text();
$.ajax({
url : url here--,
type:"GET",
success:function(html){
//location.reload(true);
}
});
});
});
现在问题是我无法在第3或任何其他产品结果中更改我的值,因为我给出的id是alternate.So,如果我更改了我的第3个产品结果选择值,它仍然会转到第1个,因为所有奇数产品结果都有1个ID 且偶数产品结果有1个ID 。
你能否建议我替代方法来避免这种交替因为它只检索了2个产品结果,但如果检索结果大于2则不行?
否则你能否建议为每次迭代生成变量id名称,同样关于jQuery函数?