在MYSQL中查询数组

时间:2013-11-20 05:46:15

标签: javascript php jquery mysql arrays

我目前正在使用Jquery开发拖放项目框。 Jquery在框中选择项ID,并将其作为数组发送到calculcation页面(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适用于第一个拖放项目,但之后我收到以下错误:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的')'附近使用正确的语法

真的想简化上面的代码,并感谢收到的帮助。

2 个答案:

答案 0 :(得分:0)

假设ID是数字,

$ids = implode(',', $newlist);
mysql_query("SELECT * FROM `values_catalogue` WHERE `id` IN($ids)");

以上代码可以使用。

建议:不推荐使用mysql_ * apis。切换到mysqli_ *函数。

答案 1 :(得分:0)

 $ids = join(',', $newlist);
 $res=mysql_query("SELECT * FROM `values_catalogue` WHERE `id` IN($ids)");