Fanamura
Новичок
switch, case и таблица
Есть говнокод
На выходе почти то, что нужно:
Скриншот: http://floomby.ru/content/2llhN41fR0/
Выделил желтым то, что отображается не так, как мне бы хотелось. Т.е. первые два ряда заполнились нормально, а в последнем нужный столбец стал последним, а на его месте стоит фиг знает что и откуда. Где я напорол, помогли плиз
-~{}~ 29.09.09 17:35:
Хочу дополнить, что каждого события в БД у конкретного матча только одно, т.е. не думайте, что есть строка, где Голы =0, а затем следующая, где голы =1. Есть только одна
Есть говнокод

PHP:
$nowplayer = 5; //выбираем игрока
//$result = mysql_query("SELECT match_id, event_type_id, event_sum FROM jos_joomleague_match_events WHERE player_id = $nowplayer GROUP BY event_type_id ASC ORDER BY event_type_id ASC");
$result = mysql_query("SELECT match_id, event_type_id, event_sum FROM jos_joomleague_match_events WHERE player_id = $nowplayer GROUP BY match_id ASC");
//$result2 = mysql_query("SELECT match_id, event_type_id, event_sum FROM jos_joomleague_match_events WHERE player_id = $nowplayer AND match_id = $match_id ORDER BY match_id ASC");
?>
<table width="100%" border="1" cellpadding="3" cellspacing="1" bordercolor="#999999">
<tr>
<td>Матч</td>
<td>Голы #1</td>
<td>Передачи #4</td>
<td>Удаления #8</td>
<td>ЛИМ #10</td>
</tr>
<?php
$x=0;
while ($row = mysql_fetch_array($result)) {
// print_r ($row);
// echo "<br />";
printf ("<tr><td>Матч %s</td>", $row[match_id]);
$match_id = $row[match_id];
$result2 = mysql_query("SELECT match_id, event_type_id, event_sum FROM jos_joomleague_match_events WHERE player_id = $nowplayer AND match_id = $row[match_id] ORDER BY match_id ASC");
while ($row2 = mysql_fetch_array($result2)) {
switch ($x) {
case 0:
if ($row2[event_type_id] == "1"){
printf ("<td>%sGoal-%s</td>", $row2[event_sum], $row[match_id]);
$x=1;
break;
}else{
echo "<td>-Goals none!-$row[match_id]</td>";
$x=1;
}
case 1:
if ($row2[event_type_id] == "4"){
printf ("<td>%sASS-%s</td>", $row2[event_sum], $row[match_id]);
$x=2;
break;
}else{
echo "<td>ASS NO!-$row[match_id]</td>";
$x=2;
}
case 2:
if ($row2[event_type_id] == "8"){
printf ("<td>%sDEL-%s</td>", $row2[event_sum], $row[match_id]);
$x=3;
// break;
}else{
echo "<td>DEL NO!-$row[match_id]</td>";
$x=3;
}
case 3:
if ($row2[event_type_id] == "10"){
printf ("<td>%sLUM-%s</td>", $row2[event_sum], $row[match_id]);
$x=0;
break;
}else{
echo "<td>-NO LUM!-$row[match_id]</td>";
$x=0;
//break;
}
}
}
}
?>
</tr>
</table>
Скриншот: http://floomby.ru/content/2llhN41fR0/
Выделил желтым то, что отображается не так, как мне бы хотелось. Т.е. первые два ряда заполнились нормально, а в последнем нужный столбец стал последним, а на его месте стоит фиг знает что и откуда. Где я напорол, помогли плиз

-~{}~ 29.09.09 17:35:
Хочу дополнить, что каждого события в БД у конкретного матча только одно, т.е. не думайте, что есть строка, где Голы =0, а затем следующая, где голы =1. Есть только одна