0

まだphpの初心者なので、承認フォームの作成に問題があります。

アイデアは

ユーザーがフォームを送信すると、テーブルの承認された行にデフォルト値「0」が設定されます。

そのため、舞台裏では、管理者はこのテーブルのすべてのメンバーを承認された="0"に表示します

これがコードです

<code> 

    <?php
    $con = mysql_connect("localhost","ebarea_epic","...");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ebarea_epic", $con);

$query = "select * from medicalrep where approved='0'";

$result=mysql_query($query);

echo "<table border='1'>
<tr>
<th>User Name</th>
<th>Password</th>
<th>Mobile </th>
<th>Address</th>
<th>Faculty</th>
<th>Graduation Year</th>
<th>Region</th>
<th>Area</th>
<th>Line</th>
<th>Appointment Date</th>
<th>Resign Data</th>
<th>Job Title</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['ID'] . "</td>";
  echo "<td>" . $row['username'] . "</td>";
  echo "<td>" . $row['password'] . "</td>";
  echo "<td>" . $row['Mobile'] . "</td>";
  echo "<td>" . $row['Address'] . "</td>";
  echo "<td>" . $row['Faculty'] . "</td>";
  echo "<td>" . $row['Graduation Year'] . "</td>";
  echo "<td>" . $row['Region'] . "</td>";
  echo "<td>" . $row['Line'] . "</td>";
  echo "<td>" . $row['Area'] . "</td>";
  echo "<td>" . $row['Appointment'] . "</td>";
  echo "<td>" . $row['Resign'] . "</td>";
  echo "<td>" . $row['job_title'] . "</td>";  
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>
</code>

すべてのテーブルユーザーにチェックボックスを追加したいのですが、チェックすると、承認された列でステータスが1に変更されました

皆さんありがとう

4

1 に答える 1

0
    $con = mysql_connect("localhost","ebarea_epic","...");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ebarea_epic", $con);

$query = "select * from medicalrep where approved='0'";

$result=mysql_query($query);

$i = 1; //counter for the checkboxes so that each has a unique name
echo "<form action='process.php' method='post'>"; //form started here
echo "<table border='1'>
<tr>
<th>User Name</th>
<th>Password</th>
<th>Mobile </th>
<th>Address</th>
<th>Faculty</th>
<th>Graduation Year</th>
<th>Region</th>
<th>Area</th>
<th>Line</th>
<th>Appointment Date</th>
<th>Resign Data</th>
<th>Job Title</th>
<th>Update</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['ID'] . "</td>";
  echo "<td>" . $row['username'] . "</td>";
  echo "<td>" . $row['password'] . "</td>";
  echo "<td>" . $row['Mobile'] . "</td>";
  echo "<td>" . $row['Address'] . "</td>";
  echo "<td>" . $row['Faculty'] . "</td>";
  echo "<td>" . $row['Graduation Year'] . "</td>";
  echo "<td>" . $row['Region'] . "</td>";
  echo "<td>" . $row['Line'] . "</td>";
  echo "<td>" . $row['Area'] . "</td>";
  echo "<td>" . $row['Appointment'] . "</td>";
  echo "<td>" . $row['Resign'] . "</td>";
  echo "<td>" . $row['job_title'] . "</td>";
  echo "<td><input type='checkbox' name='check[$i]' value='".$row['ID']."'/>";   
  echo "</tr>";
  $i++;
  }
echo "</table>";
echo "<input type='submit' name='approve' value='approve'/>";
echo "</form>";

mysql_close($con);

今プロセス.phpが来る

if(isset($_POST['approve'])){
                if(isset($_POST['check'])){
                    foreach ($_POST['check'] as $value){
                        $sql = "UPDATE post SET post_approved = 1 WHERE ID = $value"; //write this query according to your table schema
                        mysql_query($sql) or die (mysql_error());
                    }
                }
            }

ここではmysql_*関数を使用していますが、 PDOを使用することをお勧めします

編集:

あなたの要求に従って、これはアップデートです。

管理パネルスクリプトで次のコードを変更します。

echo "<input type='submit' name='approve' value='approve'/>";

上記の行を削除し、代わりにこれを追加します。

echo "<input class='action' type='button' name='approve' value='approve' />";
   echo "<input class='action' type='button' name='edit' value='edit' />";
   echo "<input class='action' type='button' name='delete' value='delete' />";
   echo "<input type='hidden' name='action' value='' id='action' />"; //Action (edit, approve or delete) will be set here which will be passed as POST variable on form submission

ここで、いくつかのトリックを実行するためにいくつかのjavascriptが必要になります。

次のコードを、できれば管理パネルスクリプトのヘッドセクションに追加します

<script type="text/javascript" src="jquery-1.7.min.js"></script>
<script type="text/javascript">
            $(document).ready(function(){
                $('.action').click(function(){
                    var action = $(this).attr('name');
                    $('#action').val(action);
                    $(this).closest('form').submit();

                })
            })
     </script>

次に、process.phpファイルに変更が加えられます

if (isset($_POST['approve'])) {
    if (isset($_POST['check'])) {
        foreach ($_POST['check'] as $value) {
            $sql = "UPDATE post SET post_approved = 1 WHERE ID = $value"; //write this query according to your table schema
            mysql_query($sql) or die(mysql_error());
        }
    }
} elseif(isset($_POST['edit'])){
    //do the edit things here
} elseif(isset($_POST['delete'])){
    foreach ($_POST['check'] as $value){
        $sql = "DELETE FROM post WHERE ID=$value";//modify it
        mysql_query($sql) or die(mysql_error());
    }
}

ノート

編集のためにチェックボックスを複数にしたくない場合があります。上記のjavascriptコードを少し調整するだけで、フォーム送信時にIDがpost変数として送信され、そこから1つのエントリの詳細を取得して、編集機能を実行できます。お任せします。試してみて、ここにトライアルコードを投稿してください。うまくいかない場合は、解決策を提供します。

于 2012-04-30T15:05:23.823 に答える