我正在尝试设置一个包含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;
目前所有这些代码都是检索每个团队的结果 - 太棒了!
我似乎无法弄清楚如何以表格形式布置数据并包含团队名称
答案 0 :(得分:0)
回到你的SQL&amp;重写查询,以便得到如下结果:
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>
这只是让查询以更有用的方式返回格式化的问题。