2017-02-20 13 views
-2

データベースの特定の行を削除しようとしていますが、ボタンを削除すると、deletebookajax.phpの未定義表示が行番号54に表示されます。 私が間違っている... はここに book.phpは、本全体の詳細情報を表示するためのものである私のコード....削除ボタンが機能しない

<?php 
include('assets/page_header.php'); 
include('db/db.php'); 
?> 
<html> 
<head><title></title> 
<style> 
h1 { 
text-align:center; 
} 
</style> 
</head> 
<h1>BOOKS PAGE</h1> 



<?php 
error_reporting(0); 

$str="select * from books"; 

$query1=mysql_query($str); 

$q=mysql_num_rows($query1); 

//$query2=mysql_query("select status from bookrentalinfo where bookid=$bookid"); 
//echo $query2; 
//$res=mysql_fetch_array($query2); 
echo "<table align='center'>"; 
echo "<tr><th>BookID</th><th>Title</th><th>Author</th><th>Publisher</th><th>Numcopies</th><th>Shelfno</th><th>Status</th><th colspan=2 >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' data-toggle='tooltip' title='Delete' id=".$rows['bookid']." value='delete' name='delete'><img id='image' src='./images/trash.png'/></button></td>"; 
echo "<td><a id='colour' class='tooltip' href='edit1form.php?book_id=".$rows['bookid']."'><img id='image' src='./images/small.gif'/><span class='tooltiptext' >Edit</span></a></td>"; 
echo "</tr>"; 
} 
echo "</table>"; 
?> 
<div id="display"> 
</div> 



<!--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"; 
}*/--> 




<script type="text/javascript"> 

$('document').ready(function() { 

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

    $('[data-toggle="tooltip"]').tooltip(); 
var strconfirm = confirm("Are you sure you want to delete?"); 
if(strconfirm) 
{ 
    var bookid=$(this).attr("id"); 
    alert(bookid); 





    dataString='book_id='+bookid; 
    alert(dataString); 



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



    } 
    else { 
    return false; 
    } 
     }); 

     }); 
     </script> 
</body> 
</html> 

deletebookajax.phpある

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


<input type="hidden" name="bookid" value=<?php if(isset($bookid)) echo $bookid; ?>> 





<?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); 
echo $query1; 

if($query1) 
{ 
$q=mysql_query("select * from books"); 
echo $q; 
$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> 
+2

メンテナンスされていない、安全でない、長期的に廃止されたデータベースAPIを使用しています。今すぐ停止してください。 PDOのような代替手段は10年以上も利用可能です。 http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – miken32

+0

@ miken32を参照してください。言い換えれば、「非推奨」で、サポートされなくなりました。 –

+0

ha ok sir、...あなたが私のエラーを検出することができます。 –

答えて

0
あなたdeletebookajax.phpコードを変更

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


<input type="hidden" name="bookid" value=<?php if(isset($bookid)) echo $bookid; ?>> 





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

//if(isset($_POST['bookid'])) 
// 
//$bookid=mysql_real_escape_string($_POST['bookid']); 
$user="root"; 
$server="localhost"; 
$password=""; 
$db="library book"; 
$dbconn = mysqli_connect($server,$user,$password,$db); 

$delete = "delete from books WHERE bookid=$bookid"; 

$query1=mysqli_query($dbconn, $delete); 
echo $query1; 


if($query1) 
{ 
$q=mysqli_query($dbconn, "select * from books"); 
echo $q; 
$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=mysqli_fetch_array($dbconn, $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

大丈夫ですが、同じエラーが表示されないことを削除することはできません。 –

+0

あなたのクエリ部分でこれは正しく実行されます: '$ query1 = mysql_query($ delete);'?、今はPDOだけを使うので、 'Mysqli_query();'は正しい使い方です。 – Nawin

+0

はい、私は、削除クエリをコピーし、SQLのyogで実行されて、それは正常に動作して..... –

関連する問題