通过按钮OnClick插入MySQL

时间:2014-11-19 22:23:56

标签: javascript php jquery mysql

在这里使用几个答案我按下按钮时会将行添加到MySQL但是数据是空白的,所以我只能假设变量没有被传递。

我真的不知道自己做错了什么,非常感谢任何帮助。

PHP     

<? $sql = "SELECT itemname FROM items ORDER BY itemname ASC";
$result = mysql_query($sql);

while ($row = mysql_fetch_array($result)) {

echo "<button onclick='javascript:ajaxCall(" . $row['id'] . ")'><span class='btn-text'>" . $row['itemname'] . "</span></button>";
}
?>

的jQuery

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function ajaxCall(id){
  $.ajax({
    type: "POST",
    url: "additem.php",
    success: function(data){
    // callback function
}
});
return false;
}
</script>

additem.php     

// Connect database. 
include("settings.php");
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name);

$id = $_POST['id'];

$itemsearch = mysql_query("SELECT itemname, itemcategory, price, qty FROM presales WHERE id='$id'");
$itemsearchrest = mysql_num_rows($itemsearch);

$itemname = $itemsearchrest['itemname'];
$itemcategory = $itemsearchrest['itemcategory'];
$price = $itemsearchrest['price'];
$qty = $itemsearchrest['qty'];


$sql = "INSERT INTO presales (itemname, itemcategory, price, qty) VALUES('$itemname', '$itemcategory', '$price', '0')";
if(mysql_query($sql)){
 return "success!";
}
else {
return "failed!";
}

?>

1 个答案:

答案 0 :(得分:0)

mysql_num_rows返回行数。它不是一个数组。使用fetch_assoc或类似 请参阅PHP documentation中的示例! 您的AJAX调用也缺少数据:

$.ajax({
  type: "POST",
  url: "additem.php",
  data: {
    id: id
  }
});


请切换到PDO或MySQLi。 MySQLi将使用相同的函数名称,但它是面向对象的。 PDO将命名功能略有不同,但基本上以相同的方式工作。