EDITながら - SOLUTION:私は競争のスコアボードを表示するには、このコードを作っ
ながら最初前へ$sub = '';
を移動しました。
最初の:すべてのカテゴリを取得します。
2回目:カテゴリからすべてのサブカテゴリを取得します。
3回目:サブカテゴリからすべてのレコードを取得します。
問題は次のとおりです。
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;
}
}
を*最初の間はすべての結果が得られ、次に2番目の印刷ですか? - 何が印刷され、何が印刷されるのですか?あなたは例を見せてもらえますか? – Aydin4ik
申し訳ありませんが、私は問題を編集した、それは間違っていた。本当に申し訳ありません。 –
私がこれから得ることができるのは、あなたが 'SelectAllRecords()'メソッドを呼び出していないということです。とにかくあなたが投稿したものから少なくとも。 –