繁体   English   中英

如果值匹配,则选中复选框,并在提交时使用复选框值更新数据库

[英]If value match then checkbox checked and update database with checkbox values on submit

我正在尝试如果值在数据库显示复选框中被选中。 我检查了其他值,然后单击“提交”按钮以更新数据库,其中更新值为复选框。

这是我的代码:

    <?php
    include "database_connection.php"; 
    $cutomername = $_GET['username'];
    $productid = $_GET['userid'];
    $cust_id = $_GET['custid'];
    $productid_arr = explode(',' , $productid);
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title> <?php echo $cutomername;?></title>
    </head>

    <body>

    <form method="post" name="checkboxForm">
    <?php

    $query_flags = "select * from products";
    $row_flags=mysql_query($query_flags); 
    $i=0;

    while ($row = mysql_fetch_array($row_flags)){

           $product_id = $row['product_id'];
           $product= $row['product'];
           if($productid_arr[$i] ==$row['product_id']) 
           {
              $check = 'checked="checked"';
           } else{
              $check = '';
           }
           if(in_array($row['product_id'], $chvalues))
           {
              echo  "<input   type=\"checkbox\" name=\"checkbox[]\"  id=\"$product_id\" value='" . $row['product_id'] . "' $check />";
           } else{
              echo  "<input  type=\"checkbox\" name=\"checkbox[]\"  id=\"$product_id\" value='" . $row['product_id'] . "' $check/>";
           }
    echo $row['product'];
    echo "<hr />"; 
    $i++;
    }   
    ?>  
    <input class="submit" type="submit" value="Submit" name="submit">   

    <?php
    $chvalues = array();
    if(isset($_POST['checkbox']))
    {
       foreach($_POST['checkbox'] as $ch => $value)
       {
       $chvalues[] = $value;
       }
    }

    $des_prod_id = implode(',' , $chvalues);
    $query = mysql_query("UPDATE customer SET product_id = '$des_prod_id'  where  ID = '$cust_id'");
   ?>

</form>
</body>
</html>

更改此行:

 $query = mysql_query("UPDATE customer SET product_id = $products where  customer_name = $cutomername");

至:

$query = mysql_query("UPDATE customer SET product_id = $value where  customer_name = $cutomername");

$products应该是$value因为您要在foreach循环中迭代并将每个元素分配给此变量。

终于我解决了这个问题

这是我的代码:

<?php
    include "database_connection.php"; 
    $cutomername = $_GET['username'];
    $productid = $_GET['userid'];
    $cust_id = $_GET['custid'];
    $productid_arr = explode(',' , $productid);


 if(isset($_POST['submit']))
     {
     $productid_arr = array();
     foreach($_POST['checkbox'] as $ch => $value)
     {
        $productid_arr[] = $value;
     }

    $des_prod_id = implode(',' , $productid_arr);

    $query = mysql_query("UPDATE customer SET product_id = '$des_prod_id'  where  ID = '$cust_id'");
    }

    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title> <?php echo $cutomername;?></title>
    </head>

    <body>

    <form method="post" name="checkboxForm">
    <?php

    $query_flags = "select * from products";
    $row_flags=mysql_query($query_flags); 
    $i=0;

    while ($row = mysql_fetch_array($row_flags)){

           $product_id = $row['product_id'];
           $product= $row['product'];
           if(in_array($product_id, $productid_arr)) 
           {
            $check = 'checked';
            } else{
            $check = '';
            }
        echo  "<input   type=\"checkbox\" name=\"checkbox[]\"  id=\"$product_id\" value='" . $row['product_id'] . "' $check />";
        echo $row['product'];
    echo "<hr />"; 
    $i++;
    }   
    ?>  
    <input class="submit" type="submit" value="Submit" name="submit">   

</form>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM