2013-05-12 3 views
-2

я пытаюсь обновить количество в корзину, где есть несколько элементов,Аякса обновление кол-во, где идентификатор и кол-во

, например -

var get id of order item 
var get quantity 
post both to updateqty.php 

с несколькими линиями на заказ существует несколько Textboxes с id of qty и несколько скрытых входов с идентификатором части, поэтому он будет работать только с первым идентификатором, который он находит на этой странице, мне нужно, чтобы он мог обновлять другие позиции в заказе,

так, например,

get class of the textbox, then find out which qty is being updated, then update the quantity of the item. 

Если у кого-то есть идея, как это можно сделать, это будет оценено.

<script> 


function updateqty() { 
    var ud_first = document.getElementById('part').value; 
    var ud_last = document.getElementById('qty').value; 

    if (window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("cart").innerHTML = xmlhttp.responseText; 
     } 
    } 
    xmlhttp.open("GET", "php/updateqty.php?order=<?php echo $order; ?>&id=" + ud_first + "&qty="+ud_last, true); 
    xmlhttp.send(); 
} 
</script> 
<?php 


$sql="SELECT * FROM `orders` WHERE `invoice` = '".$order."' ORDER BY id DESC"; 

$result = mysql_query($sql); 
echo" 
    <table id='POITable' width='100%' border='1'> 
     <tr> 
      <td>SKU</td> 
      <td>QTY</td> 
      <td width='45%'>item</td> 
      <td>Unit Price</td> 
      <td>Line Price</td> 
      <td>Delete</td> 
     </tr>"; 
while($row = mysql_fetch_array($result)) 
    { 
echo"<tr><td>" . $row['part'] . "</td><td><form name='test'> 
    <input type='hidden' value='" . $row[id] . "' id='part'> <input type='text' id='qty' value='" . $row['qty'] . "' onblur='updateqty(this.id)'></form></td><td>" . $row['description'] . "</td><td>" . $row['price'] . "</td><td>" . $row['lineprice'] . "</td><td> <input type='image' src='images/btn_delete.png' value='" . $row[id] . "' onclick='deletesku(this.value)' height='30'/></td> 
"; 

} 
?> 

вставка РНР

$id=$_GET[id]; 

$sql2="SELECT * FROM `orders` WHERE `id` = '".$id."'"; 

$result2 = mysql_query($sql2); 

$row2 = mysql_fetch_array($result2); 

$order=$_GET[order]; 
$qty=$_GET[qty]; 

$sql="SELECT * FROM `stock` WHERE `part` = '".$part."'"; 

$result = mysql_query($sql); 

$row1 = mysql_fetch_array($result); 

$lineprice=$qty * $row2[price]; 

$sqlins1 = "UPDATE `orders` SET qty='$qty', lineprice='$lineprice' WHERE id = '".$id."'"; 

это идентификаторы в HTML, что кратные не таблица MYSQL

так мне нужно подобрать идентификатор продукта в телега и обновлять количество этого идентификатора с помощью AJAX

в impotant биты сценария являются

function updateqty() { 
     var ud_first = document.getElementById('part').value; 
     var ud_last = document.getElementById('qty').value; 

     if (window.XMLHttpRequest) { 
      xmlhttp = new XMLHttpRequest(); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
       document.getElementById("cart").innerHTML = xmlhttp.responseText; 
      } 
     } 
     xmlhttp.open("GET", "php/updateqty.php?order=<?php echo $order; ?>&id=" + ud_first + "&qty="+ud_last, true); 
     xmlhttp.send(); 
    } 
    </script> 
    <?php 


    $sql="SELECT * FROM `orders` WHERE `invoice` = '".$order."' ORDER BY id DESC"; 

    $result = mysql_query($sql); 
    while($row = mysql_fetch_array($result)) 
     { 
    echo"<tr><td>" . $row['part'] . "</td> 

<td> 

    <form name='test'> 
      <input type='hidden' value='" . $row[id] . "' id='part'> 
     <input type='text' id='qty' value='" . $row['qty'] . "' onblur='updateqty(this.id)'></form> 

    </td><td>" . $row['description'] . "</td><td>" . $row['price'] . "</td><td>" . $row['lineprice'] . "</td><td> <input type='image' src='images/btn_delete.png' value='" . $row[id] . "' onclick='deletesku(this.value)' height='30'/></td> 
     "; 

     } 

Заранее спасибо

ответ

-1
function updateqty() { 

    var str="$(this).attr('name')"; 
    var orderCode=str.slice(9,-1); 
    var quantity = $(this).value; 

      if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
     { 

    xmlhttp.open("GET","updateqty.php?order=<?php echo $order; ?>&id=" + orderCode + "&qty=" + quantity,true); 
    xmlhttp.send(); 
    } 

    </script> 


    <div id="cart"> 
    <?php 
    $sql="SELECT * FROM `orders` WHERE `invoice` = '".$order."' ORDER BY id DESC"; 

    $result = mysql_query($sql); 
    echo" 
     <table id='POITable' width='100%' border='1'> 
      <tr> 
       <td>SKU</td> 
       <td>QTY</td> 
       <td width='45%'>item</td> 
       <td>Unit Price</td> 
       <td>Line Price</td> 
       <td>Delete</td> 
      </tr>"; 
    while($row = mysql_fetch_array($result)) 
     { 
    echo"<tr><td>" . $row['part'] . "</td><td> 
    <input type='text' name='quantity[779]' size='3' value='" . $row['qty'] . "' tabindex='1' onblur='updateqty(this.value)' /> 

</td><td>" . $row['description'] . "</td><td>" . $row['price'] . "</td><td>" . $row['lineprice'] . "</td><td><img src='images/btn_delete.png' onclick='deleteRow(this)' height='30'/></td> 
"; 
} 
1

Итак, вы говорите, что у вас есть thouble с оператором обновления SQL? Если вы хотите помочь хотя бы показать нам SQL-запрос. Оператор SELECT бесполезен, так как UPDATE является нарушенным. Также заявления SQL UPDATE невероятно просты в исполнении, если у вас возникли проблемы, потому что вы сделали 0 исследований.

Я попробую помочь вам с ограниченным количеством кода, который вы предоставили. Обновление должно выглядеть примерно так:

UPDATE <tablename> SET QTY=$qty AND SKU=$sku WHERE id=$id 

Если вы создаете корзину, вам потребуется больше, чем количество, которое нужно сохранить. вы не можете иметь корзину с 6 qty в ней и не знать, что такое qty. Я предлагаю создать таблицу, содержащую идентификатор пользователя и его идентификатор и количество. то, когда человек добавляет в корзину, вставьте новую строку, содержащую идентификатор пользователя, идентификатор элемента и количество. Затем, когда пользователь отправляется в корзину, вы можете позвонить в таблицу пунктов, используя идентификатор элемента, чтобы получить всю необходимую информацию о предмете, такую ​​как стоимость и т. Д.

+0

Извините, что обновление находится в другом файле. Я поставлю это в вопросе сейчас для вас часть вставки работает нормально, хотя –

+0

updateqty.php? order = & qty = "+ str. Это только передача 2 переменных заголовка, где, когда скрипт использует 3. для обновления требуется идентификатор (первичный ключ), который вы получаете из $ id = $ _ GET [id], но вы arent передаете id в заголовке, так что ему никогда не присваивается –

+0

ему нужно подобрать идентификатор, но все идентификаторы одинаковы, поэтому мне нужно, чтобы он сказал скрипту вставки, для которого строка обновляется, с помощью которой изменяется текстовое поле. –

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