2015-04-29 3 views
-2

Я создал приложение php-mysql, основанное на ajax, которое показывает данные из таблицы mysql, используя цикл while.Невозможно удалить определенную запись с помощью ajax и php-mysql

$ibb = mysql_query("select * from bill where tableno='{$tno}' ORDER BY ID ASC"); 

while($ibff = mysql_fetch_assoc($ibb)) 
{ 
$iidd=$ibff['ID']; 
$itemid=$ibff['itemid']; 
$amt=$ibff['amount']; 
$qty=$ibff['qty']; 


echo'<tr> 
<td>'.$itemid.'</td> 
<td>'.$amt.'</td> 
<td>'.$qty.'</td> 
<td>'.$total.'</td> 
<td><button name= "'.$iidd.'" id="remove" class="btn btn-danger btn-sm" onclick="this.disabled=true;">X</button></td> 


</tr>'; 
} 

AJAX код, как показано ниже: -

<script type="text/javascript"> 
jQuery('#remove').click(function(data) { 
    var pid = jQuery(this).attr('name'); 
     var y = jQuery(this).attr('name'); 

    $.ajax({ 
       url: "delitem.php?item="+pid+"&data="+y, 
       type: 'GET', 
       success: function(s){ 
        var $container = $("#content2"); 
     $container.load("bd.php"); 
       }, 
       error: function(e){ 
        alert('Error Processing your Request!!'); 
       } 
      }); 

}); 
</script> 

delitem.php код: -

$idd=$_GET['item']; 

$ab = mysql_query("select * from bill where ID='{$idd}'"); 
$abf=mysql_fetch_assoc($ab); 

$qty = $abf['qty']; 
$name = $abf['itemid']; 
$d = date('d/m/Y'); 

$remove= mysql_query("delete from reports where name='{$name}' and date='{$d}' limit $qty"); 
$delete = mysql_query("delete from bill where id='{$idd}'"); 

код работает отлично, только если я начать удаление с первой записи. Он всегда удаляет первую запись, отображаемую на странице. Где я поступаю неправильно?

+4

Пожалуйста, [прекратите использование 'mysql_ *' функций] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). Они больше не поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Узнайте о [подготовленных заявлениях] (http://en.wikipedia.org/wiki/Prepared_statement) и используйте [PDO] (http://jayblanchard.net/demystifying_php_pdo.html). Где находится PHP с вашим вопросом удаления? –

+0

Спасибо, сэр .. Я хочу ... Вы могли бы предложить решение на данный момент? – Akshay

+3

удалить что-нибудь из своего БД? Я не вижу в вашем коде 'delete from ...'. Проблема может быть там; код, который вы еще не опубликовали. Или это неуместно? –

ответ

0

# или ID предназначено для одного элемента, где . или класс для нескольких элементов, поэтому вы помечаете технически неправильно там, что может иметь негативное влияние.

Также, как уже упоминалось, вы должны использовать Prepared Statements in PDO для всех взаимодействий БД.

+0

Большое спасибо .. У вас есть точный глюк в коде ... Большое спасибо ... Решил мою проблему .... :) – Akshay

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