2

値がデータベースの表示チェックボックスにチェックされているかどうかを試しています。別の値をチェックし、更新値がチェックボックスでチェックされた値であるデータベースを更新する送信ボタンをクリックしました。

これが私のコードです:

    <?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>
4

2 に答える 2

0

最後に私はこの問題を解決しました

ここに私のコードがあります:

<?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>
于 2013-09-17T12:03:38.543 に答える
0

この行を変更します:

 $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");

$productsforeachループで各要素を$value繰り返してこの変数に割り当てるためです。

于 2013-09-09T14:07:24.200 に答える