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

现在来了 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());
                    }
                }
            }

虽然您在这里使用 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 来做一些技巧。

在您的管理面板脚本中添加以下代码,最好是 head 部分

<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 变量发送,您可以从中检索一个条目的详细信息,然后会出现编辑功能。我把它留给你。试试看,在这里发布你的试用代码,如果它不起作用,我会给你一个解决方案。

于 2012-04-30T15:05:23.823 回答