我目前正在使用 Jquery 开发一个拖放项目框。 Jquery 选择框中的项目 ID 并将其作为数组发送到计算页面 (calc.php)。
使用此数组变量(商品 ID),我希望使用查询/函数从数据库中提取价格。
我觉得我当前的代码有点基础,可能会使事情过于复杂,或者更糟糕的是无法正常工作,这是迄今为止的一个问题。
可拖动的 Jquery
var full = $("#calcid > .drag").map(function() {
return $(this).attr("id");
}).get();
var listurl = "calc.php?a="+full;
$("#itemnotice").load(listurl);
},
以下代码列出了“calcid”中的 ID,然后将它们插入数组中。然后,该数组被发送到 calc.php 并加载到 div itemnotice 中(其中将显示价格)。
calc.php页面如下:
<?php
$grablist = str_split(mysql_real_escape_string(stripslashes($_GET['a'])));
foreach ($grablist as $newlist) {
$costquery = mysql_query("SELECT * FROM `values_catalogue` WHERE `id` IN($newlist)")or die(mysql_error());
$row = mysql_fetch_array($costquery);
$newtotal = $cost_cookie + $row['value'];
}
echo "$newtotal coins";
?>
Calc.php 适用于第一个拖/放项目,但随后出现以下错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
真的很想简化上述代码,并感谢您提供的帮助。
最佳答案
假设 ID 是数字,
$ids = implode(',', $newlist);
mysql_query("SELECT * FROM `values_catalogue` WHERE `id` IN($ids)");
上面的代码可以工作。
此处建议:mysql_* api 已弃用。切换到 mysqli_* 函数。
关于javascript - MYSQL中查询数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20088319/