在html

时间:2016-05-24 22:42:09

标签: php jquery html

这是我的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函数?

0 个答案:

没有答案