2017-04-01 50 views
0

我有四個不同的文件問題,而使用AJAX和PHP

的index.php

select.php

insert.php

edit.php

刪除.php

在我的後端,我創建了一個名爲'ECC '

數據庫' ECC '已經atable命名爲' 任務'

表任務以下字段

ID,名稱,類別,成本

數據類型ID設置爲INT和指數作爲主要還id字段是自動遞增

我的問題:(! )注意:未定義指數:ID在C:在線38

和同爲線39,40,41 \瓦帕\ WWW \ select.php,

每個錯誤的是在頁面上顯示兩次。

的index.php

<html> 
     <head> 
      <title>Live Table Data Edit</title> 
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
     </head> 
     <body> 
      <div class="container"> 
       <br /> 
       <br /> 
       <br /> 
       <div class="table-responsive"> 
        <h3 align="center">Live Table Add Edit Delete using Ajax Jquery in PHP Mysql</h3><br /> 
        <div id="live_data"></div>     
       </div> 
      </div> 
     </body> 
</html> 
<script> 
$(document).ready(function(){ 
     function fetch_data() 
     { 
      $.ajax({ 
       url:"select.php", 
       method:"POST", 
       success:function(data){ 
        $('#live_data').html(data); 
       } 
      }); 
     } 
     fetch_data(); 
     $(document).on('click', '#btn_add', function(){ 
      var name = $('#name').text(); 
      var category = $('#category').text(); 
      if(name == '') 
      { 
       alert("Enter service Name"); 
       return false; 
      } 
      if(category == '') 
      { 
       alert("Enter category"); 
       return false; 
      } 
      $.ajax({ 
       url:"insert.php", 
       method:"POST", 
       data:{name:name, category:category}, 
       dataType:"text", 
       success:function(data) 
       { 
        alert(data); 
        fetch_data(); 
       } 
      }) 
     }); 
     function edit_data(id, text, column_name) 
     { 
      $.ajax({ 
       url:"edit.php", 
       method:"POST", 
       data:{id:id, text:text, column_name:column_name}, 
       dataType:"text", 
       success:function(data){ 
        alert(data); 
       } 
      }); 
     } 
     $(document).on('blur', '.name', function(){ 
      var id = $(this).data("id1"); 
      var name = $(this).text(); 
      edit_data(id, name, "name"); 
     }); 
     $(document).on('blur', '.category', function(){ 
      var id = $(this).data("id2"); 
      var category = $(this).text(); 
      edit_data(id,category, "category"); 
     }); 
     $(document).on('click', '.btn_delete', function(){ 
      var id=$(this).data("id3"); 
      if(confirm("Are you sure you want to delete this?")) 
      { 
       $.ajax({ 
        url:"delete.php", 
        method:"POST", 
        data:{id:id}, 
        dataType:"text", 
        success:function(data){ 
          alert(data); 
          fetch_data(); 
        } 
       }); 
      } 
     }); 
}); 
</script> 

select.php

<?php 

$connect = mysqli_connect('localhost', 'root', '','ecc'); 
    mysqli_select_db($connect,'ecc'); 

       if(!$connect){ 
        echo "yes"; 
       }else{ 
        echo "no"; 
       } 

$output = ''; 

$sql = "SELECT name, category FROM addservices ORDER BY id DESC"; 

$result = mysqli_query($connect, $sql); 

$output .= ' 
     <div class="table-responsive"> 
      <table class="table table-bordered"> 
       <tr> 
        <th width="10%">Id</th> 
        <th width="40%">Service Name</th> 
        <th width="40%">Category</th> 
        <th width="10%">Delete</th> 
       </tr>'; 


if(mysqli_num_rows($result) > 0) 
{ 
     while($row = mysqli_fetch_array($result)) 
     { 
      $output .= ' 
       <tr> 
        <td>'.$row["id"].'</td> 
        <td class="name" data-id1="'.$row["id"].'" contenteditable>'.$row["name"].'</td> 
        <td class="category" data-id2="'.$row["id"].'" contenteditable>'.$row["category"].'</td> 
        <td><button type="button" name="delete_btn" data-id3="'.$row["id"].'" class="btn btn-xs btn-danger btn_delete">x</button></td> 
       </tr> 
      '; 
     } 
     $output .= ' 
      <tr> 
       <td></td> 
       <td id="name" contenteditable></td> 
       <td id="category" contenteditable></td> 
       <td><button type="button" name="btn_add" id="btn_add" class="btn btn-xs btn-success">+</button></td> 
      </tr> 
     '; 
} 
else 
{ 
     $output .= '<tr> 
          <td colspan="4">Data not Found</td> 
        </tr>'; 
} 
$output .= '</table> 
     </div>'; 
echo $output; 
?> 

回答

0

您收到此錯誤Undefined index: id

因爲你甲肝E不把id在選擇查詢

$sql = "SELECT id,name, category FROM addservices ORDER BY id DESC"; 
0

仄您query.It需要改變如:

$sql = "SELECT * FROM task ORDER BY id DESC"; 
+0

'SELECT *'正常的測試,但從未在生產環境中是一個好主意。 –

+0

@MrLister你是對的,但薩洛尼正在使用所有的列名 –

0

因爲你沒有在$ sql語句選擇「ID」字段您收到此錯誤。 你writen -

$sql = "SELECT name, category FROM addservices ORDER BY id DESC";

應該

$sql = "SELECT id, name, category FROM addservices ORDER BY id DESC";