在PHP中,我在控制器getItems
中编写了一个php函数,以便在使用javascript / jquery通过ajax调用时获取所有项目。我正在传递一个参数limit
来限制从服务器获取的项目。
这样可行,但如何使用相同的方法获取所有项目?目前,当且仅当我提供limit
参数值时,以下查询才有效。
"SELECT DISTINCT name, id from TABLE_NAME
ORDER BY shared_date DESC
LIMIT @~~limit~~@";
如何通过修改相同的查询来获取所有项目?
目前,我通过两个不同的查询来解决这个问题,一个有限制,另一个没有限制。 (我感觉很乱)
答案 0 :(得分:0)
一种方法是将限制设置为getItems
中的可选参数。
例如:
function getItems($limit=false){
$sql = "SELECT DISTINCT name, id from TABLE_NAME
ORDER BY shared_date DESC "
if($limit){
$sql .= "LIMIT $limit";
}
...
}
我不知道你是否打算在准备好的声明中提交查询,所以我就这样离开(sql-injectable)
答案 1 :(得分:-2)
$limit = '';
if ($paramLimit != NULL && is_int($paramLimit)) {
$limit = " LIMIT $paramLimit ";
}
"SELECT DISTINCT name, id from TABLE_NAME
ORDER BY shared_date DESC
$limit";