2013-10-06 7 views
1

Я использую php, mysql и ajax для удаления записи из таблицы. Проблема в том, что в MySQL_query он не получает идентификатор, который показывает «id = undefined», я пытался передать идентификатор в запрос, но я не знаю, где я ошибся, я попытался распечатать MySQL свои показыКак удалить записи из базы данных с помощью Ajax

delete from 9xx WHERE id = undefinedArray 
(
    [rowid] => undefined 
    [supplier] => 9xx 
) 

может кто-нибудь сказать мне, как передать идентификатор ... спасибо

Мой Аякса

$(".deletesuppliernetwork").live('click',function() 
     { 
     arr = $(this).attr('class').split(" "); 
     var supplier=document.getElementById("supplier").value; 

     if(confirm("Sure you want to delete this update?")) 
     { 
     $.ajax({ 
     type: "POST", 
     url: "suppliernetwork/delete.php", 
     data: "rowid="+arr[2]+"&supplier="+supplier, 
     success: function(data){ 
                 $('.ajax').html($('.ajax input').val()); 
                 $('.ajax').removeClass('ajax'); 
                }}); 
     } 
     }); 

Мой HTML

<?php 
include"db.php"; 

$supplier_id=$_GET['supplier_id']; 

if($supplier_id!=""){ 

$sql=mysql_query("select * from $supplier_id order by country,networkname"); 

while($rows=mysql_fetch_array($sql)) 
{ 

if($alt == 1) 
     { 
      echo '<tr class="alt">'; 
      $alt = 0; 
     } 
     else 
     { 
      echo '<tr>'; 
      $alt = 1; 
     } 

echo ' <td style="width:123px" class="edit supplier '.$rows["id"].'">'.$rows["supplier"].'</td> 
       <td style="width:104px" class="edit rn '.$rows["id"].'">'.$rows["rn"].'</td>  
      <td style="width:103px" class="edit sc '.$rows["id"].'">'.$rows["sc"].'</td>  
      <td style="width:108px" class="edit comment '.$rows["id"].'">'.$rows["comment"].'</td> 

      <td style="width:62px" class="deletesuppliernetwork '.$rows["id"].'"><img src="/image/delete.png" style="margin:0 0 0 17px" ></td>         

     </tr>'; 


} 
} 
?> 

delete.php

<?php 
    include"db.php"; 

$supplier=$_POST['supplier']; 




     $rownum=$_POST['rowid']; 
     $sql="delete from $supplier WHERE id = ".$rownum.""; 

     print $sql; 

     mysql_query($sql); 


    print_r($_POST); 
?> 

ответ

2
<td style="width:62px" class="deletesuppliernetwork '.$rows["id"].'"><img src="/image/delete.png" style="margin:0 0 0 17px" ></td>  

индекс вашего идентификатора 1, то есть второй индекс. не 2.

$.ajax({ 
     type: "POST", 
     url: "suppliernetwork/delete.php", 
     data: "rowid="+arr[1]+"&supplier="+supplier, 
     success: function(data){ 
                 $('.ajax').html($('.ajax input').val()); 
                 $('.ajax').removeClass('ajax'); 
                }}); 
+0

спасибо, что он сработал, но я хочу скрыть «td», когда его удалил. Я думаю, что после sucess – Xavi

+0

да, вы пишете код в блоке успеха. – Tauseef

+0

см. Второй ответ от меня, он скроет строку, не перезагружая полную страницу – Tauseef

1
var rowObj = $(this);  
$.ajax({ 
      type: "POST", 
      url: "suppliernetwork/delete.php", 
      data: "rowid="+arr[1]+"&supplier="+supplier, 
      success: function(data){ 
       $('.ajax').html($('.ajax input').val()); 
       $('.ajax').removeClass('ajax'); 
        $(rowObj).parents("tr:first").hide(); 
      }}); 

это должно скрыть полную строку.

+0

спасибо, но она не скрывает строку – Xavi

+1

@arokia Пожалуйста, обновите выше '$ (this) .parents (« tr: first »). hide(); ' – Tauseef

+0

спасибо, но не скрывает – Xavi

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