編輯 - 解決方案::前而
我做了這個代碼來顯示比賽的記分牌第一位置移動到$sub = '';
。
第一次:獲取所有類別。
第二次:從類別中獲取所有子類別。
第三次:從子類別獲取所有記錄。
問題是:
如果通過DESC的第一個循環順序,它只打印第一個結果,並且在此類別中執行
。
如果我更改爲ASC,則不會打印任何內容。
注意:並非每個子類別都有記錄。
雖然內內,而同時
function SelectAllRecords() {
global $db;
try{
$query = $db->query("SELECT id, name FROM category ORDER BY name DESC");
while($category = $query->fetch(PDO::FETCH_ASSOC)) {
$categoryid = $category['id'];
$sub = '';
$querysub = $db->query("SELECT id, id_category, name FROM category_sub WHERE id_category=".$categoryid);
while($subcategory = $querysub->fetch(PDO::FETCH_ASSOC)) {
if(!is_numeric($subcategory['id'])){
continue;
}else{
$subcategoryname = $subcategory['name'];
$sub .='<h2>'.$category['name'].'</h2>
<div class="widget-box">
<div class="widget-title"> <span class="icon"><i class="icon-th"></i></span>
<h5>'.$subcategory['name'].'</h5>
</div>
<div class="widget-content nopadding">
<table class="table table-bordered data-table" id="tabledata">
<thead>
<tr>
<th class="columnadjust">Código</th>
<th>Competidor</th>
<th class="columnadjust">Ações</th>
</tr>
</thead>
<tbody id="tablecontent">
';
$record = $db->query("SELECT records.id as id, competitor.name as competitor, category.name as category, category_sub.name as subcategory, records.amplifier as amplifier, records.speaker as speaker, records.battery as battery, records.decibels as decibels, records.car as car FROM records LEFT JOIN competitor ON competitor.id = records.id_competitor LEFT JOIN category ON records.id_category = category.id LEFT JOIN category_sub ON records.id_subcategory = category_sub.id WHERE category_sub.name = '".$subcategoryname."' ORDER BY points ASC");
while($records = $record->fetch(PDO::FETCH_ASSOC)) {
if(!is_numeric($records['id'])){
$sub .= '<tr class="gradeX"></tr>';
}else{
$sub .= '
<tr class="gradeX">
<td class="columnadjust">'.$records['id'].'</td>
<td>'.$records['competitor'].'</td>
<td class="columnadjust">
<a data-id="'.$records['id'].'" title="Editar" class="itemedit btn btn-warning btn-mini">Editar</a>
</td>
</tr>';
}
}
$sub .= '</tbody></table></div></div>';
}
}
}
$result = $sub;
echo $result;
return true;
} catch (PDOException $pe) {
return false;
}
}
*首先是產生一切,然後再打印第二?* - 打印什麼,打印什麼?你能舉一個例子嗎? – Aydin4ik
對不起,我編輯了這個問題,這是錯誤的。真的很抱歉 –
所有我可以從這裏得到的是,你沒有調用你的'SelectAllRecords()'方法;至少從你張貼的東西。 –