response->setOutput(json_encode($json)); } } },opencart,Opencart" /> response->setOutput(json_encode($json)); } } },opencart,Opencart" />

Opencart 如何通过get方法使用limit和offset创建过滤器api? 类控制器SystemFilter扩展控制器{ 公共函数getfilter(){ $results=array(); $query=$this->db->query($SELECT*,(从.db\u前缀中选择名称..filter\u group\u说明fgd其中fd.filter\u group\u id=fgd.filter\u group\u id和fgd.language\u id='”(int)$this->config->get('config\u language\u id')。“)作为`group`FROM.db\u前缀..filter\u group\u说明fgd左连接.db\u前缀..filter\u说明fgd(fgd.filter_group_id=fd.filter_group_id),其中fd.language_id='”(int)$this->config->get('config_language_id')。“'LIMIT 10 OFFSET 15”); $results=$query->rows; 如果(计数($结果)){ $json['success']=true; $json['filters']=$results; }否则{ $json['success']=false; } 如果($this->debugIt){ 回声'; class ControllerSystemFilter extends Controller { public function getfilter() { $results = array(); $query = $this->db->query("SELECT *, (SELECT name FROM " . DB_PREFIX . "filter_group_description fgd WHERE fd.filter_group_id = fgd.filter_group_id AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS `group` FROM " . DB_PREFIX . "filter_group_description fgd LEFT JOIN " . DB_PREFIX . "filter_description fd ON (fgd.filter_group_id = fd.filter_group_id) WHERE fd.language_id ='" . (int)$this->config->get('config_language_id')."' LIMIT 10 OFFSET 15"); $results =$query->rows; if(count($results )){ $json['success'] = true; $json['filters'] = $results ; } else { $json['success'] = false; } if ($this->debugIt) { echo '<pre>'; print_r($json); echo '</pre>'; } else { $this->response->setOutput(json_encode($json)); } } } 打印(json); 回声'; class ControllerSystemFilter extends Controller { public function getfilter() { $results = array(); $query = $this->db->query("SELECT *, (SELECT name FROM " . DB_PREFIX . "filter_group_description fgd WHERE fd.filter_group_id = fgd.filter_group_id AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS `group` FROM " . DB_PREFIX . "filter_group_description fgd LEFT JOIN " . DB_PREFIX . "filter_description fd ON (fgd.filter_group_id = fd.filter_group_id) WHERE fd.language_id ='" . (int)$this->config->get('config_language_id')."' LIMIT 10 OFFSET 15"); $results =$query->rows; if(count($results )){ $json['success'] = true; $json['filters'] = $results ; } else { $json['success'] = false; } if ($this->debugIt) { echo '<pre>'; print_r($json); echo '</pre>'; } else { $this->response->setOutput(json_encode($json)); } } } }否则{ $this->response->setOutput(json_encode($json)); } } }

Opencart 如何通过get方法使用limit和offset创建过滤器api? 类控制器SystemFilter扩展控制器{ 公共函数getfilter(){ $results=array(); $query=$this->db->query($SELECT*,(从.db\u前缀中选择名称..filter\u group\u说明fgd其中fd.filter\u group\u id=fgd.filter\u group\u id和fgd.language\u id='”(int)$this->config->get('config\u language\u id')。“)作为`group`FROM.db\u前缀..filter\u group\u说明fgd左连接.db\u前缀..filter\u说明fgd(fgd.filter_group_id=fd.filter_group_id),其中fd.language_id='”(int)$this->config->get('config_language_id')。“'LIMIT 10 OFFSET 15”); $results=$query->rows; 如果(计数($结果)){ $json['success']=true; $json['filters']=$results; }否则{ $json['success']=false; } 如果($this->debugIt){ 回声'; class ControllerSystemFilter extends Controller { public function getfilter() { $results = array(); $query = $this->db->query("SELECT *, (SELECT name FROM " . DB_PREFIX . "filter_group_description fgd WHERE fd.filter_group_id = fgd.filter_group_id AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS `group` FROM " . DB_PREFIX . "filter_group_description fgd LEFT JOIN " . DB_PREFIX . "filter_description fd ON (fgd.filter_group_id = fd.filter_group_id) WHERE fd.language_id ='" . (int)$this->config->get('config_language_id')."' LIMIT 10 OFFSET 15"); $results =$query->rows; if(count($results )){ $json['success'] = true; $json['filters'] = $results ; } else { $json['success'] = false; } if ($this->debugIt) { echo '<pre>'; print_r($json); echo '</pre>'; } else { $this->response->setOutput(json_encode($json)); } } } 打印(json); 回声'; class ControllerSystemFilter extends Controller { public function getfilter() { $results = array(); $query = $this->db->query("SELECT *, (SELECT name FROM " . DB_PREFIX . "filter_group_description fgd WHERE fd.filter_group_id = fgd.filter_group_id AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS `group` FROM " . DB_PREFIX . "filter_group_description fgd LEFT JOIN " . DB_PREFIX . "filter_description fd ON (fgd.filter_group_id = fd.filter_group_id) WHERE fd.language_id ='" . (int)$this->config->get('config_language_id')."' LIMIT 10 OFFSET 15"); $results =$query->rows; if(count($results )){ $json['success'] = true; $json['filters'] = $results ; } else { $json['success'] = false; } if ($this->debugIt) { echo '<pre>'; print_r($json); echo '</pre>'; } else { $this->response->setOutput(json_encode($json)); } } } }否则{ $this->response->setOutput(json_encode($json)); } } },opencart,Opencart,我正在opencart上工作,在这段代码中,我试图通过get方法使用limit和offset为过滤器api编写代码,但当我运行这段代码时,它向我显示了输出成功:false。 如何解决此问题?如前所述,$json的值将为success:false,因为数组为空。这是因为$query->rows不是获取行数据的有效代码。若要解决此问题,请使用以下代码: $query = $this->db->query("SELECT *, (SELECT name FROM " . DB_PREFIX

我正在opencart上工作,在这段代码中,我试图通过get方法使用limit和offset为过滤器api编写代码,但当我运行这段代码时,它向我显示了输出成功:false。
如何解决此问题?

如前所述,$json的值将为
success:false
,因为数组为空。这是因为
$query->rows
不是获取行数据的有效代码。若要解决此问题,请使用以下代码:

$query = $this->db->query("SELECT *, (SELECT name FROM " . DB_PREFIX . "filter_group_description fgd WHERE fd.filter_group_id = fgd.filter_group_id AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS `group` FROM " . DB_PREFIX . "filter_group_description fgd  LEFT JOIN " . DB_PREFIX . "filter_description fd ON (fgd.filter_group_id = fd.filter_group_id) WHERE  fd.language_id ='" . (int)$this->config->get('config_language_id')."' LIMIT 10 OFFSET 15");
$results= array();
foreach($query->rows as $row){
    $results[] = $row;
}
上面的代码将获取行数据并将其存储到数组
$results

请注意,在检查数组时,请使用
empty
而不是像这样使用
count

if(!empty($results )){
    $json['success']    = true;
    $json['filters']    = $results;
} else {
    $json['success']    = false;
}

请发布您的代码如果您单击图像描述链接,您会发现将代码放在图像上是一个坏主意。这里的一些用户阻止了对图像的访问。这会使他们认为您没有添加代码。请告诉我我的代码中有什么错误?您是否尝试直接在SQL工具(如workbench)中运行查询?