Вот что у меня так далекоТупик в середине цикла PHP
$awards_sql_1 = mysql_query('SELECT * FROM categories WHERE section_id = 1') or die(mysql_error());
$awards_sql_2 = mysql_query('SELECT * FROM categories WHERE section_id = 2') or die(mysql_error());
$awards_sql_3 = mysql_query('SELECT * FROM categories WHERE section_id = 3') or die(mysql_error());
$awards_sql_4 = mysql_query('SELECT * FROM categories WHERE section_id = 4') or die(mysql_error());
$loop = 1;
while($row_sections = mysql_fetch_array($sections_query)) {
$category = 1;
echo "<h3>" . $row_sections['section_name'] . " (Loop# $loop)</h3>";
while($categories = mysql_fetch_array(${"awards_sql_{$loop}"})) {
${"winners_sql_{$loop}"} = mysql_query("SELECT * FROM 2009_RKR_bestof WHERE section = $loop && category = $category ORDER BY result_level ASC") or die(mysql_error());
echo "<h4><strong>{$categories['category_name']}</strong></h4>";
echo "<ul class=\"winners\">";
>> while($winners = mysql_fetch_array(${"winners_sql_{$loop}"})) {
switch ($winners['result_level']) {
case 1: $result_level = "Platinum"; break;
case 2: $result_level = "Gold"; break;
case 3: $result_level = "Silver"; break;
}
if (isset($winners['url'])) { $anchor = "<a href=\"http://{$winners['url']}\" target=\"_blank\">"; $close = "</a>"; }
echo "<li>$anchor{$winners['winner']}$close ($result_level)</li>";
unset($anchor);
unset($close);
}
echo "</ul>";
$category++;
}
$loop++;
}
Где я получаю в тупик, это я правильно получаю эту вещь перебрать, мой счетчик цикла ($ loop) работает, но когда наступает время выплевывать фактических получателей вознаграждения после первого цикла через победителей, они производят только названия категорий, элементы списка не замыкаются.
Я добавил небольшой указатель туда, где, как я думаю, проблема начинается или вокруг (>>).
Мое предположение: мне нужно, возможно, отменить var где-нибудь, но я не знаю, я не вижу его.
Я действительно не понимаю, что вам нужно иметь 4 разных запроса, возможно, они могут быть объединены в один? и вы могли бы удалить одну из петель? –
Кроме того, я хотел бы изучить, как использовать массивы: http://us3.php.net/manual/en/language.types.array.php –
Другая причина не использовать код стрелки (Tons of inested If Statement), если вы публикуете его на Stack Overflow, его действительно трудно прочитать. –