如何在PHP或Jquery中从前端更改数据库值?

时间:2014-08-04 11:42:41

标签: php jquery mysql

我有php代码,它显示一个表,其内容显示在数据库中的表中。其中一个字段是状态字段。有一个“更改”按钮,可以将“非活动”状态更改为“活动”,反之亦然。

我需要知道如何编写“更改”按钮的代码。是否应该用jquery编写,或者也可以用php编写。

代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="indexStyle.css">
<title>User List</title>
</head>
<body>
<table border="2" bgcolor="#50D5CE">
<tr>
    <td>SL. No</td>
    <td>Name</td>
    <td>Mobile Number</td>
    <td>Status</td>    
 </tr>
<?php include ('header.php');
include ('includes/connect.php');
$dbconn =  new connect();
$fields = "first_name,last_name,mobile_number,status";
$user_details = $dbconn->select($fields,"user_details","1");
$c=1;
for($i = 0; $i < count($user_details);$i++){
?>
<tr>
<td><?php echo $c ?></td>
<td><?php echo $user_details[$i][0]." ".$user_details[$i][1]; ?></td>
<td><?php echo $user_details[$i][2] ?></td>
<td><?php if($user_details[$i][3] == 0) {
echo "Inactive"; } 
else echo "Active"; ?>
<input type="button" name="change_status" id ="change_status" value="Change"/></td>
</tr>
<?php $c++;
} ?>
</table>

</body>
</html>

3 个答案:

答案 0 :(得分:2)

jQuery是Javascript并在用户的计算机上运行,​​而PHP则在服务器上运行。问题是用户必须触发数据库更新,服务器必须执行它。因此,您需要使用jQuery发送AJAX请求,并且您的服务器端必须执行更新。

答案 1 :(得分:1)

  change input: ↓
 <input type="button" name="change_status" id ="change_status" value="Change" onclick="update_status(<?php echo $user_details[$i][2]; ?>,<?php echo $user_details[$i][3]; ?>)"/>

  <script>
           function update_status(mob_no,sta)
           {

                  $.ajax({
                        type: "POST",
                        url: "update_status.php",
                        data: {mobno:mob_no,status:sta},
                        success: function(data){
                            // whatever you do here after success
                        }
           }
  </script>

UPDATE_STATUS.PHP

     <?php
           if(isset($_POST['mobno']) && isset($_POST['status']))
           {
                 $mono=  $_POST['mobno'];
                 $temp_status = 0;
                 if($_POST['status']==0)
                     $temp_status=1;

                mysql_query("update user_details set status='$temp_status' where mobile_number ='$mono'");

           }
     ?>

答案 2 :(得分:0)

您可以使用PHP代码或jQuery AND PHP代码进行更改。

这是因为您需要服务器端语言(在您的情况下为PHP)才能访问您的数据库。所以需要服务器端脚本。

要运行服务器端脚本,可以直接调用php页面,也可以从AJAX请求调用它(在你的jQuery案例中)。