PDO搜索脚本不显示模板系统的结果

时间:2015-03-05 22:51:18

标签: php mysql templates pdo views

我对PHP有点新意,所以这让我有些困惑。我认为这不是代码中的错误,而是代码逻辑。

这里有两个模板文件:

搜索 - 显示搜索页面。 search_item - 返回搜索结果的格式。

我已经转储了查询的执行,它返回true,这使我相信查询成功并从表单中接收了数据。

以下是Search.php页面的功能。 (在URL中显示为index.php?action =从控制器搜索)

public function handleAction() {

    global $user, $config;

    $database = Database::getDatabase();
    $driver = $database->getDriver();
    $search = $_POST['keywords'];
    $stmt = $driver->prepare('SELECT * FROM clansoc_clans WHERE clan_name LIKE :keywords');
    $stmt->bindValue(':keywords', '%' . $search . '%');
    $stmt->execute();

    $results = array();

    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

        $results[] = array(
            'id' => $row['id'],
            'clan_name' => htmlspecialchars($row['clan_name'], ENT_QUOTES),
            'short_desc' => htmlspecialchars($row['clan_short_desc'], ENT_QUOTES),
            'clan_avatar' => $row['clan_avatar']
        );

    }

    $results_list_registry = new ViewRegistry();
    $results_list = new View('Results List', $results_list_registry, false);
    $results_list_contents = "";
    //$i = $offset;

    foreach($results as $result) {

        $results_list_result_registry = new ViewRegistry();
        $this->view->getViewRegistry()->setVariable('id', $result['id']);
        $this->view->getViewRegistry()->setVariable('name', $result['clan_name']);
        $this->view->getViewRegistry()->setVariable('desc', $result['short_desc']);
        $this->view->getViewRegistry()->setVariable('avatar', $result['clan_avatar']);
        $results_list_result = new View('Results List Result', $results_list_result_registry);
        $results_list_result->setView('search_item');
        $results_list_contents .= $results_list_result->export(false);
    }

    $results_list->setView($results_list_contents);
    $this->view->getViewRegistry()->setVariable('results', $results_list);

}

我的问题更简单:

为什么脚本不显示查询结果?

0 个答案:

没有答案