更新数据库而不刷新页面

时间:2016-04-06 03:55:30

标签: php

每当点击带有yes id的超链接时,我不希望页面刷新然后显示状态,我希望状态在没有页面刷新的情况下立即更改。我知道Ajax处理这个问题,但是有人能为我提供一个有关我代码的工作示例吗?当它融化我的头:/

        <h3 class="page-header"> Enquiries </h3>

        <form id="enquiry" method="post"  action="enquiry_csv.php">
         <table class="table table-bordered table-hover">

            <thead>
                <tr>

                    <th> First Name</th>
                    <th> Last Name</th>
                    <th>Email</th>
                    <th>Message</th>
                    <th>Date</th>
                    <th>Responded to Enquiry?</th>

                    <th>Status</th>

                    <th></th>
                    <th><input class='btn-success' name='export' id='btnExport' type='submit' value='Export to CSV'/></th>

                </tr>
            </thead>

                  <tbody>


             <?php 

              $query = "SELECT * FROM enquiries";
             $select_enquiries = mysqli_query($connection,$query);  

             while($row = mysqli_fetch_assoc($select_enquiries)) {

             $Enquiry_ID = $row['Enquiry_ID'];
             $FirstName = $row['First_Name'];   
             $LastName =$row['Last_Name'];
             $Email = $row['Email'];
             $Message = $row['Message'];
             $Date  =$row['Date'];
             $Responded =$row['Responded'];

            echo "<tr>";

            echo "<td>$FirstName </td>";
            echo "<td>$LastName </td>";
            echo "<td>$Email </td>";
            echo "<td>$Message </td>";
           echo "<td>$Date </td>";
          echo "<td> <a id='yes' class='success' style='' href='enquiries.php?Yes=$Enquiry_ID'>Yes</a> | <a class='success' href='enquiries.php?No=$Enquiry_ID'>No</a> </td>";

         echo "<td> $Responded</td>";

        echo "<td> <a class='btn btn-danger' href ='enquiries.php?delete=$Enquiry_ID'>Delete</a> </td>";

            echo "</tr>"; 

             }

             ?>

              <?php

              if(isset($_GET['Yes'])){

          $enquiry_id = $_GET['Yes'];

         $query = "UPDATE enquiries SET Responded = 'Yes' WHERE Enquiry_ID =  {$Enquiry_ID}";
         $query = mysqli_query($connection, $query);

           }

           if(isset($_GET['No'])){

           $enquiry_id = $_GET['No'];

            $query = "UPDATE enquiries SET Responded = 'No' WHERE Enquiry_ID = {$Enquiry_ID}";
          $query = mysqli_query($connection, $query);


         }


           if(isset($_GET['delete'])){

          $review_id = $_GET['delete'];

          $query = "DELETE FROM enquiries WHERE Enquiry_ID = {$Enquiry_ID} ";
          $delete_query = mysqli_query($connection, $query);

             }


                      ?>

                   <tr> 

                   <td></td>
                   <td> </td>
                   <td> </td>
                    <td> </td>
                    <td> </td>

                   </tr>   

        </tbody>
        </table>



        </form>

2 个答案:

答案 0 :(得分:1)

您可以使用jquery ajax api执行异步HTTP(Ajax)请求

http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

请参阅@Sanya Zahid发布的上述链接并尝试做一些这样的事情:

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" >
$(function() {
   $(".submit").click(function() {
   var name = $("#name").val();
   var age = $("#age").val();
   var dataString = 'name='+ name +'&age='+ age;

   if(name=='' || age =='')
   {
      $('.success').fadeOut(200).hide();
      $('.error').fadeOut(200).show();
   }
   else
   {
      $.ajax({
      type: "POST",
      url: "submit.php",
      data: dataString,
      success: function(){
      $('.success').fadeIn(200).show();
      $('.error').fadeOut(200).hide();
   }
   });
   }
   return false;
   });
   });
   </script>

   <form method="post" name="form">
       <input id="name" name="name" type="text" /><br>
       <input id="age" name="age" type="text"/>
   <div>
      <input type="submit" value="Submit" class="submit"/>
      <span class="error" style="display:none"> Please Enter Data</span>
      <span class="success" style="display:none"> Data Saved!!</span>
  </div>
  </form>

此处submit.php包含与数据库相关的内容(insert/update/delete)。我刚刚在代码中添加了名称和年龄文件。根据您的表单添加字段。

submit.php:

<?php
$conn = mysqli_connect("localhost","root","","test");

/* Insert form data with out page refresh */

if($_POST)
{
    $name=$_POST['name'];
    $age = $_POST['age'];
    mysqli_query($conn,"Query will come here");
}else{
    echo "Please try again!!";
}
/* Insert form data with out page refresh */

?>