Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择数据库查询生成的列表中的所有复选框_Php_Jquery - Fatal编程技术网

Php 选择数据库查询生成的列表中的所有复选框

Php 选择数据库查询生成的列表中的所有复选框,php,jquery,Php,Jquery,我的逻辑(显然)是错误的,但以下是我的 当一个购买请求被批准后,它会进入到我们的“购买者”名单中,他们开车进城去购买物品(我住在阿拉斯加的农村,所以这是一件大事)。所有项目,无论采购请求如何,都会按供应商转储到foreach循环中。换句话说,可能会有10个购买请求,但所有家得宝项目都在家得宝表中 我想有一个盒子,每个供应商检查“标记所有已购买”,这样当有人离开商店时,他们就可以标记他们得到了所有的家得宝产品 这是我的问题。 1.它并不总是有效的。 2.当它真的起作用时,你只有一次机会。单击它后,

我的逻辑(显然)是错误的,但以下是我的

当一个购买请求被批准后,它会进入到我们的“购买者”名单中,他们开车进城去购买物品(我住在阿拉斯加的农村,所以这是一件大事)。所有项目,无论采购请求如何,都会按供应商转储到foreach循环中。换句话说,可能会有10个购买请求,但所有家得宝项目都在家得宝表中

我想有一个盒子,每个供应商检查“标记所有已购买”,这样当有人离开商店时,他们就可以标记他们得到了所有的家得宝产品

这是我的问题。 1.它并不总是有效的。 2.当它真的起作用时,你只有一次机会。单击它后,必须刷新页面才能再次启动该函数。有人能给我指出正确的方向吗

<?php
$suppliers = [];
$suppliersQ = $db->query("SELECT supplier FROM purchase where status = ?  ORDER BY supplier",array('approved'));
$suppliersC = $suppliersQ->count();

//Did we find anything? Get a list of the vendors we need to visit
if($suppliersC > 0){
  $suppliersR = $db->results();
  foreach ($suppliersR as $key=>$value){

    if(!in_array($value,$suppliers)){
      array_push($suppliers,$value);
    }
  }
} else {
}

if(!empty($_POST['purchased'])){
  foreach($_POST['purchased'] as $k=>$v){
    $fields = array(
      'status' => 'purchased',
      'purchased_by' => $user->data()->fname." ".$user->data()->lname,
      'purchaser_id' => $user->data()->id,
    );

    $db->update('purchase',$v,$fields);
  }
}

if(!empty($_POST['removed'])){
  foreach($_POST['removed'] as $k=>$v){
    $fields = array(
      'status' => 'removed',
      'purchased_by' => $user->data()->fname." ".$user->data()->lname,
      'purchaser_id' => $user->data()->id,
    );

    $db->update('purchase',$v,$fields);
  }

}

?>

<div id="page-wrapper">
  <div class="container-fluid">
    <!-- Page Heading -->
    <div class="row">
      <div class="col-sm-12">
        <!-- Content goes here -->

      </div>
    </div>
  </div>
  <div class="row">
    <div class="col-sm-12">
      <h3 align="center"><a href="purchaser_all_pr.php?closed=0">View All PRs</a></h3>

      <form class="" action="purchaser.php" name="buildings" method="post">
        <input class='btn btn-danger' name="submit" type='submit' value='Submit' class='submit' />
        <?php
        if($suppliersC > 0){
          foreach ($suppliers as $k=>$v){

            $purchaseQ = $db->query("SELECT * FROM purchase WHERE status = ? AND supplier = ? ORDER BY will_call,payment",(array('approved',$v->supplier)));
            $purchases = $purchaseQ->results();
            ?>
            <div class="table table-responsive">
            <table class='table table-hover' >
              <h4><?=$v->supplier?>(<a href="purchaser_print.php?vendor=<?=$v->supplier?>">Print</a>)</h4>
              <p align="right"><input type="checkbox" id="<?=$v->supplier?>"/> Mark all purchased</p>

              <tr>
                <th>WC?</th>
                <th>Method</th>
                <th>Item #</th>
                <th>Description</th>
                <th>Link</th>
                <th>Qty</th>
                <th>QtyMin</th>
                <th>Price</th>
                <th>Est Total</th>
                <!-- <th>Actual Total</th> -->
                <th>Purchased?</th>
                <th>Remove</th>
                <th>PR</th>

              </tr>
              <?php

              foreach ($purchases as $purchase){
                ?>
                <tr>
                  <td><a href="vendor.php?id=<?=$purchase->supplier_id?>"><?=$purchase->will_call?></a></td>
                  <td><?=$purchase->payment?></td>
                  <td><?=$purchase->item_num?></td>
                  <td><?=$purchase->item_desc?></td>
                  <?php
                  //Costco show description instead of link
                  if ($purchase->supplier_id == 10){ ?>
                  <td><?=$purchase->link?></td>
                <?php }else { ?>
                    <td><a href="<?=$purchase->link?>">Link</td>
                <?php } ?>
                    <td><?=$purchase->qty?></td>
                    <td><?=$purchase->qty_min?></td>
                    <td><?=$purchase->price?></td>
                    <td>$<?=$purchase->est_tot?></td>
                    <td><input type="checkbox" class="<?=$purchase->supplier_id?>" name="purchased[<?=$purchase->id?>]" value="<?=$purchase->id?>"></td>
                    <td><input type="checkbox" name="removed[<?=$purchase->id?>]" value="<?=$purchase->id?>"></td>
                    <td><a href="view_pr.php?prid=<?=$purchase->pr?>">PR-<?=$purchase->pr?></a></td>

                  </tr>
                  <SCRIPT language="javascript">
$(function(){

    // add multiple select / deselect functionality
    $("#<?=$v->supplier?>").click(function () {
          $('.<?=$purchase->supplier_id?>').attr('checked', this.checked);
    });

    // if all checkbox are selected, check the selectall checkbox
    // and viceversa
    $(".<?=$purchase->supplier_id?>").click(function(){

        if($(".<?=$purchase->supplier_id?>").length == $(".<?=$purchase->supplier_id?>:checked").length) {
            $("#<?=$v->supplier?>").attr("checked", "checked");
        } else {
            $("#<?=$v->supplier?>").removeAttr("checked");
        }
    });
});
</SCRIPT>
                  <?php
                }
              }
            }
            ?>

          </table>
        </div>
        </form>

        <!-- Content Ends Here -->
      </div> <!-- /.col -->
    </div> <!-- /.row -->
  </div> <!-- /.container -->
</div> <!-- /.wrapper -->


<?php require_once $abs_us_root.$us_url_root.'users/includes/page_footer.php'; // the final html footer copyright row + the external js calls ?>

<!-- Place any per-page javascript here -->


<?php require_once $abs_us_root.$us_url_root.'users/includes/html_footer.php'; // currently just the closing /body and /html ?>

()

不允许我发表评论。我通过循环复选框列表实现了类似的效果。Jquery。大概是这样的:

$(checkboxlist).each(function (){
  $(this).prop('checked',true)
});

您可以按照以下方式进行操作:

$(函数(){
//首先选择全部
$('#first.select all')。单击(函数(){
如果($('#first.select all:checked')。长度==0){
$('#第一次输入[type=“checkbox”].option').prop('checked',false);
}
其他的
{
$('#第一次输入[type=“checkbox”].option').prop('checked',true);
}
});
//第二,全选
$('#second.select all')。单击(函数(){
if($('#second.select all:checked')。长度==0){
$('#第二次输入[type=“checkbox”].option').prop('checked',false);
}
其他的
{
$('#第二次输入[type=“checkbox”].option').prop('checked',true);
}
});
//出于您的目的,您可以删除此超时
//我添加它只是为了让你知道它是有效的
setTimeout(函数(){
var options=$(“#second.option”);
var totalcheckbox=options.length;
var=0;
选项。每个(函数(索引){
如果($(this).is(':checked'))
{
选中++;
}
});
如果(总复选框==选中)
{
$('#second.select all').prop('checked',true);
}
}, 2000);
});

选择全部
选项1
选项2
选项3
选项4

选择全部
选项1
选项2
选项3
选项4

您应该使用
.prop('checked')…
而不是
.attr('checked'…
。这是在jQuery 1.6中更改的。这可能是问题的一部分。我将其更改为prop并删除了prop。仍然不工作。它只是间歇性的。它不会在控制台中抛出任何错误。如果您查看此屏幕截图,它会为顶级供应商(amazon)触发但不是第二个。removeProp实际上会完全删除属性,这将在以后导致问题。要选中框,它是
.prop(“选中”,true);
,要取消选中框,它是:
.prop(“选中”,false)
我也无法启动它。我想我必须给每个复选框(动态地)提供供应商id,并使用相同的函数来检查所有具有该id的复选框。我只是还没有用javascript思考,所以我需要在我的大脑中解决这个问题。我感谢你的帮助。我会尝试一下。冒犯:)这个项目是建立在UserSpice上的,它肯定没有Laravel那么完美,但是它完成了任务。