繁体   English   中英

MODx从数据库检索数据并排序到表中

[英]MODx Retrieve data from database and sort into a table

我正在尝试建立一个具有来自MODX数据库的乐谱的表格,该数据已通过MODX管理面板中的tv.variables输入。

我的SQL代码使用以下方法检索所需的数据:

SELECT sc.pagetitle, cv.value, t.name
FROM pphc_site_tmplvar_contentvalues cv, pphc_site_content sc, pphc_site_tmplvars t
WHERE sc.id = cv.contentid
AND cv.tmplvarid = t.id
ORDER BY cv.value * 1 DESC

我的SQL检索球队名称,球队得分范围(比赛,胜利,失败,平局,总分)以及他们是否赢/输/抽签。

下面是我所追求的屏幕截图(使用目前可以获取的SQL)

在此处输入图片说明

目前,我处理SQL /循环的代码是:

//$output = $x; //get draws, losses, played, points and wins
$id = $x; //id of current page

function sort_by_value($a, $b) {
    return $b["value"] - $a["value"];
}

$sql = "SELECT sc.pagetitle, cv.value, t.name
FROM pphc_site_tmplvar_contentvalues cv, pphc_site_content sc, pphc_site_tmplvars t
WHERE sc.id = cv.contentid
AND cv.tmplvarid = t.id
AND sc.id = $id
ORDER BY cv.value * 1 DESC";

$result = $modx->query($sql)->fetchAll();

usort($result, "sort_by_value");
//print_r($result);die();
$html = '';

foreach ($result as $row) {
    $html .= ''. $row['value'] .'<br>';
}
return $html;

目前,这些代码所做的只是检索每个团队的结果-太好了!

我似乎无法弄清楚如何以表格形式布置数据并包括团队名称

返回您的SQL并重写查询,以便获得如下结果:

pagetitle | wins | losses | played | draws | points 
Bath HC   |  5   |   4    |   2    |   5   |  234  

那么您将能够:

foreach ($result as $row) {

    $html.= $modx->getChunk($rowTpl,$row);
}

return $html;

其中$ rowTpl是您在modx中定义的一个块〜类似于:

<tr>
     <td>[[+pagetitle]]</td>
     <td>[[+wins]]</td>
     <td>[[+losses]]</td>
     <td>[[+played]]</td>
     <td>[[+draws]]</td>
     <td>[[+points]]</td>
</tr>

这只是让查询返回以更有用的方式格式化的数据的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM