2017-02-08 2 views
0

здесь, в моей книжной базе данных, я включил обе кнопки удаления и редактирования для каждой из строк таблицы книг. Когда я нажимаю кнопку «Удалить», она не переходит к deleteajax.php ieit dosen't delete строка book.Here я создал 2 файла один для books.php и еще один deleteajax.php.In deletebookajax.php, я включил ajax-код и jquery-скрипт ... можете ли вы проверить, где я столкнулся с ошибкой. books.phpкнопка удаления не работает

<?php 
include('assets/page_header.php'); 
?> 

<?php 
//error_reporting(0); 
include('db/db.php'); 




$str="select * from books"; 

$query1=mysql_query($str); 
echo($query1); 
$q=mysql_num_rows($query1); 

//$query2=mysql_query("select status from bookrentalinfo where bookid=$bookid"); 
//echo $query2; 
//$res=mysql_fetch_array($query2); 
echo "<table>"; 
echo "<tr><th>BookID</th><th>Title</th><th>Author</th><th>Publisher</th><th>numcopies</th><th>shelfno</th><th>status</th><th>Action</th></tr>"; 
while($rows=mysql_fetch_array($query1)) 
{ 

echo "<tr>"; 
echo "<td>".$rows['bookid']."</td>"; 
echo "<td>".$rows['title']."</td>"; 
echo "<td>".$rows['author']."</td>"; 
echo "<td>".$rows['publisher']."</td>"; 
echo "<td>".$rows['numcopies']."</td>"; 
echo "<td>".$rows['shelfno']."</td>"; 
echo "<td>".$rows['status']."</td>"; 
echo "<td><button class='button1' value='delete' name='delete' onclick='delete()'>delete</button></td>"; 
echo "<td><a href='edit1form.php?book_id=".$rows['bookid']."'>Edit</a></td>"; 


//echo "<td><button type='button'>delete</button></td>"; 
/*if($res['status']=="BORROWED") 
{ 
echo "Sorry You Can't Delete The Book"; 
} 
else 
{ 
echo "The Row Is Deleted"; 
}*/ 


echo "</tr>"; 
} 
echo "</table>"; 
?> 
</body> 
</html> 

deletebookajax.php

<?php 
if(isset($_GET['book_id'])) 
{ 
    $bookid = $_GET['book_id']; 
} 
include('assets/page_header.php'); 
?> 


<input type="hidden" name="bookid" value=<?php if(isset($bookid)) echo $bookid; ?>> 
<script> 
$(document).ready(function(){ 

    $(".button1").click(function(e){ 

    var bookid = $("#bbookid").val(); 
    var title = $("#btitle").val(); 
    var author = $("#bauthor").val(); 
    var publisher = $("#bpublisher").val(); 
    var numcopies = $("#bnumcopies").val(); 
    var shelfno= $("#bshelfno").val(); 
    var status = $("#BooksStatus").val(); 
    var dataString='bbookid='+bookid+'&btitle='+title+'&bauthor='+author+'&bpublisher='+publisher+'&bnumcopies='+numcopies+'&bshelfno='+shelfno+'&BooksStatus='+status; 
    if(author==''||title==''||publisher==''||numcopies==''||shelfno==''||status=='') 
     { 
     alert("Please Fill All Fields"); 
     } 
     else 
     { 
     function delete() 
     { 
      // AJAX Code To Submit Form. 
      $.ajax({ 
      type: "POST", 
      url: "db/deletebookajax.php", 
      data: dataString, 
      cache: false, 
      success: function(result){ 
      alert("submitted"+result); 
      $('#display').html(result); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
        alert(xhr.status); 
        alert(thrownError); 
      } 
      }); 
     } 
     } 
     e.preventDefault(); 
     }); 
     }); 
     </script> 




<?php 
include('db.php'); 

//if(isset($_POST['bookid'])) 
// 
//$bookid=mysql_real_escape_string($_POST['bookid']); 
$delete = "delete from books WHERE bookid=$bookid"; 

$query1=mysql_query($delete); 
if($query1) 
{ 
$q=mysql_query("select * from books"); 
$display="<table>"; 
$display.="<tr><th>BookID</th><th>Title</th><th>Author</th><th>Publisher</th><th>numcopies</th><th>shelfno</th><th>status</th><th>Action</th></tr>"; 
while($row=mysql_fetch_array($q)) 
{ 
$display.="<tr>"; 
$display.= "<td>".$row['bookid']."</td>"; 
$display.= "<td>".$row['title']."</td>"; 
$display.= "<td>".$row['author']."</td>"; 
$display.= "<td>".$row['publisher']."</td>"; 
$display.="<td>".$row['numcopies']."</td>"; 
$display.="<td>".$row['shelfno']."</td>"; 
$display.="<td>".$row['status']."</td>"; 
$display.= "</tr>"; 
} 
$display.="</table>"; 
} 
else 
{ 
$display.= "U can't delete The book"; 
//echo "nothing"; 
} 
echo $display; 
?> 
</body> 
</html> 
+0

использования события делегации. см. [здесь] (http://api.jquery.com/on/) – guradio

+0

Почему js-функция 'delete' определена в ajax-файле? Как код из book.php будет знать об этой функции? –

+0

никогда не использовал msql_ * – madalinivascu

ответ

0

Вам не нужно определить функцию в готовом документе функции, она никогда не вызывается. Вы можете определить его в глобальном масштабе, или просто вызвать метод .ajax непосредственно:

$(document).ready(function(){ 

    $(".button1").click(function(e){ 

    var bookid = $("#bbookid").val(); 
    var title = $("#btitle").val(); 
    var author = $("#bauthor").val(); 
    var publisher = $("#bpublisher").val(); 
    var numcopies = $("#bnumcopies").val(); 
    var shelfno= $("#bshelfno").val(); 
    var status = $("#BooksStatus").val(); 
    var dataString='bbookid='+bookid+'&btitle='+title+'&bauthor='+author+'&bpublisher='+publisher+'&bnumcopies='+numcopies+'&bshelfno='+shelfno+'&BooksStatus='+status; 
    if(author==''||title==''||publisher==''||numcopies==''||shelfno==''||status=='') 
     { 
     alert("Please Fill All Fields"); 
     } 
     else 
     { 
     //function delete() 
     //{ 
      // AJAX Code To Submit Form. 
      $.ajax({ 
      type: "POST", 
      url: "db/deletebookajax.php", 
      data: dataString, 
      cache: false, 
      success: function(result){ 
      alert("submitted"+result); 
      $('#display').html(result); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
        alert(xhr.status); 
        alert(thrownError); 
      } 
      }); 
     //} 
     } 
     e.preventDefault(); 
     }); 
     }); 
+0

ok sir .......... –

+0

спасибо, я получил выход .. –

0

Объявите вашу функцию из стороны события щелчка и называет это что-то вроде этого:

if(author==''||title==''||publisher==''||numcopies==''||shelfno==''||status==''){ 
    alert("Please Fill All Fields"); 
} else { 
    delete();  
} 


function delete() { 
// AJAX Code To Submit Form. 
$.ajax({ 
    type: "POST", 
    url: "db/deletebookajax.php", 
    data: dataString, 
    cache: false, 
    success: function(result){ 
    alert("submitted"+result); 
    $('#display').html(result); 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
      alert(xhr.status); 
      alert(thrownError); 
    } 
}); 
} 
+0

Я пробовал, но и его не работает .... –

+0

Хорошо, тогда вы пытались поместить свой код без функции, как показано на фрагмент кода с помощью @KAD? –

+0

да, сэр, но и результат такой же, как и у –

Смежные вопросы