0

管理者がデータベースから選択した製品のみをユーザーに表示したいプロジェクトに取り組んでいます。実際には、管理者がチェックボックスをオンまたはオフにしたときに、データベースに承認1または0を設定したいと考えています。

 jobs.php

  $(document).ready(function(){
   $('input.check').click(function(){
     if($("input.check").is(':checked'))
     {
         $id = $(this).attr("id");
         $.post("handle.php",{action:"checked",id:$id},function(data){
          alert("Peoduct is set to display...");
         });
     }
     else
     {
       alert("unchecked");
        $id = $(this).attr("id");
         $.post("handle.php",{action:"unchecked",id:$id},function(data){
          alert("Peoduct is un-set to display...");
         });
     }

       });

    });

    <?php
        $dbqry = mysql_query("select * from job_category");

        echo "<table width='50%', border='2'>
        <tr>
        <th>Catergory ID</th>
        <th>Category Name</th>
        <th>Remove</th>
        <th>Update</th>
        <th>Approval</th>           

        </tr>";

        if($dbqry)
        {
            while($row = mysql_fetch_array($dbqry))
            {
                echo "<tr>";
                echo "<td align='center'>" . $row['c_id'] . "</td>";
                echo "<td align='center'>" . $row['cat_name'] ."</td>";

                $cid = $row['c_id'];
                $aprv = $row['approval'];
                echo "<td align='center'><a href='remove.php?action=cat_remove&cid=$cid'>Remove</a></td>";
                echo "<td align='center'>
                <a href='Update-form.php?action=cat_update&cid=$cid'>Update</a></td>";

                ?>
                <td align="center">

                       <input type='checkbox' name='approval' value='approval'   id ="<? echo $cid; ?>" class="check"/>

                </td>
                </tr>
                <?

            }
            echo "</table>";
            echo '<br/>';
            echo "<a href='add.php?action=cat_add'>Add New Category</a>";

        }
        else
        {
            die(mysql_error());
        }

    ?>`

   handle.php

  `<?php
      include 'include/connection.php';
      $action = $_POST['action'];
      $id = $_POST['id'];
      //echo $action;
      if($action == "checked")
      {
         $query = "update job_category set approval=1 where c_id=$id";
     $result = mysql_query($query);
     if(!$result)
     {
       echo die(mysql_error());
     }
      }
      else if($action == "unchecked")
       {
         $query = "update job_category set approval=0 where c_id=$id";
     $result = mysql_query($query);
     if(!$result)
     {
        echo die(mysql_error());
      }
    }
 ?>`

それは機能しますが、ページを更新するかURLを選択してEnterキーを押すと、その後でもチェックされたすべてのデータがチェックされていないように見えますが、データベースで承認の値を1から0に変更しませんが、どのアイテムがチェックされているか混乱しますまたはチェックを外します。任意の提案をいただければ幸いです。

4

2 に答える 2

0

チェックボックスの行を変更して、データベースで承認= 1の場合にチェック済みを表示します...これを試してください

  <input type='checkbox' name='approval' value='approval' <?php if($row["approval"]==1){ echo "checked=\"checked\"";})  ?>  id ="<? echo $cid; ?>" class="check"/>
于 2013-04-25T06:13:26.463 に答える