为什么我的其他语句部分不起作用?

问题描述

我有一个脚本,只要函数调用,它就会附加到 div 中。我将 $attrProductLoop 初始化为从 1 开始。但是当 $attrProductLoop 不是 1(2 及以上)时,我不想包含 add_more_attr 按钮而不是 remove_attr 按钮。我的 PHP 文件中有一个 if 语句,其中包含一个基于 foreach 循环索引(循环迭代)的按钮。但我可以弄清楚是什么问题。

我尝试在 foreach 之后立即回显 list 变量并且它有效,在 if 语句内部有效,但是当我尝试在 else 部分回显变量时没有任何显示(id 的值,在我的情况下为 1) .

代码如下:

<?PHP
     $sqlProductAttr = MysqLi_query($conn,"SELECT * FROM product_attributes WHERE product_id='$id'");
        $jj=0;
        while($rowProductAttr=MysqLi_fetch_assoc($sqlProductAttr)) {
            $attrProduct[$jj]['product_id']=$rowProductAttr['product_id'];
            $attrProduct[$jj]['size_id']=$rowProductAttr['size_id'];
            $attrProduct[$jj]['color_id']=$rowProductAttr['color_id'];
            $attrProduct[$jj]['price']=$rowProductAttr['price'];
            $attrProduct[$jj]['qty']=$rowProductAttr['qty'];
            $attrProduct[$jj]['id']=$rowProductAttr['id'];
            $jj++;
        }
?>

   <div id="product_attr_Box">
           <?PHP 
           $attrProductLoop=1;
           foreach($attrProduct AS $list) { ?>
           <div class="attr-row" id="attr_<?PHP echo $attrProductLoop ?>">
                    <div class="attr-item">
                    <label>Price &#8358;</label><br>
                    <input name="price[]" type="text" id="price" placeholder="Enter Product Price" value="<?PHP echo $list['price'] ?>"/>
                    </div>
                
                    <div class="attr-item">
                    <label>Quantity</label><br>
                    <input name="qty[]" type="text" id="qty" placeholder="Enter Product Quantity" value="<?PHP echo $list['qty'] ?>"/>
                    </div>
                  
                    <div class="attr-item">
                    <label></label><br>
                    <?PHP 
                    if($attrProductLoop==1){
                        ?>
                        <button type="button" onclick="add_more_attr()">Add More</button>
                        <?PHP
                    }else{
                      ?>
                      <button type="button" style="background: red" onclick="remove_attr('<?PHP echo $attrProductLoop;?>','<?PHP echo $list['id'];?>')">Remove</button>
                      <?PHP
                    }
                    ?>
                    </div>
   
           </div>
           <?PHP 
           $attrProductLoop++;
           } 
            ?>
           </div>

<script>
  var attr_count=1;
  function add_more_attr() {
    attr_count++;

    var size_html=jQuery('#attr_1 #size_id').html();
    var color_html=jQuery('#attr_1 #color_id').html();

    var html='<div class="attr-row" id="attr_'+attr_count+'"> <div class="attr-item"> <label>Price ₦</label><br> <input name="price[]" type="text" id="price" placeholder="Enter Product Price"> </div> <div class="attr-item"> <label>Quantity</label><br> <input name="qty[]" type="text" id="qty" placeholder="Enter Product Quantity"> </div> <div class="attr-item"> <label>Size</label><br> <select name="size_id[]" id="size_id" class="inv-text-inp">'+size_html+'</select> </div> <div class="attr-item"> <label>Color</label><br> <select name="color_id[]" id="color_id" class="inv-text-inp">'+color_html+'</select> </div> <div class="attr-item"> <label></label><br> <button type="button" style="background: red" onclick=remove_attr("'+attr_count+'")>X</button> </div> </div>';
    jQuery('#product_attr_Box').append(html);
  }
  
  function remove_attr(attr_count,id) {
    jQuery.ajax({
      url: 'remove_product_attr.PHP',data: 'id='+id,type: 'post',success: function(result){
        jQuery('#attr_'+attr_count).remove();
      }
    });
      
  }
  
</script>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)