2013-05-08 2 views
1

я пытаюсь обновить количество строк, используя Ajax класса не ид я посмотрел на Google в течение нескольких часов, пытаясь решить эту проблему, но все, что я мог бы найти не показалось работатьMySQL таблица обновления Аякс класс

мои код до сих пор является

include('config.php'); 


$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."'"; 

if (!mysql_query($sqlins1,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

$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> 
"; 

} 

любую помощь по этому вопросу было бы весьма признателен,

Большое спасибо

+0

возможно дубликат [тузд обновление Кол-во на полном массиве заказа] (http://stackoverflow.com/questions/16444439/mysql-update-qty-on-complete-order-array) – andrewsi

+0

Скажите, пожалуйста, что вы выполняете [надлежащее SQL-экранирование] (http://bobby-tables.com/php), потому что похоже, что вам не хватает часть. Вы также используете устаревший интерфейс 'mysql_query', который удаляется в будущих версиях PHP. [Использование PDO] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/) было бы намного лучшей идеей. – tadman

ответ

3
  1. Ваш код уязвим для SQL-инъекций.
  2. Вы используете устаревший API, который не поддерживает подготовленные заявления для предотвращения инъекций
  3. SQL Вы можете объединить UPDATE и SELECT в одном операторе. Here's an idea
  4. основе
  5. Ваш вычет должен быть основан базы данных, а не значение

    UPDATE tbl UPDATE col = col - 1

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