Witam, napisałem kiedyś aplikację w PHP strukturalnym i aby ją unowocześnić i rozbudować postanowiłem zacząć przepisywać ją do MVC. Wszystko szło fajnie aż do momentu, w którym natrafiłem na pewien problem. W starym kodzie w pętli "while" zrobiony co drugi wiersz tabeli innym kolorem (
$cell_color). Po przepisaniu tego do "foreach" osiągnąłem kolorowanie co drugiej komórki a nie wiersza. Proszę o pomoc.
Stary kod:$result = mysql_query("SELECT * FROM ".DB_PREFIX
."studios ORDER BY studio_name"); $i = 0;
echo "<td class='tbl-header'>Nazwa</td>\n"; echo "<td class='tbl-header'>Opis</td>\n"; echo "<td class='tbl-header'>Opcje</td>\n"; $cell_color = ($i % 2 == 0 ? "tbl1" : "tbl2");
echo "<td class='$cell_color'>".$data['studio_name']."\n</td>\n"; echo "<td class='$cell_color'>".$data['studio_desc']."\n</td>\n"; echo "<td class='$cell_color'>".$data['studio_id']."\n</td>\n"; $i++;
}
} else {
echo "<tr><td align='center' class='tbl1'>Brak studiów.</td></tr>\n</table>\n"; }
Nowy kod:$result = mysql_query('SELECT * FROM mb_studios ORDER BY studio_name');
$posts = array();
while ($row = mysql_fetch_assoc($result)){
$posts[] = $row;
}
?>
<?php if ($posts): ?>
<table width="100%">
<tr>
<td class="tbl-header">Nazwa</td>
<td class="tbl-header">Opis</td>
<td class="tbl-header">Opcje</td>
</tr>
<?php foreach ($posts as $post): ?>
<tr>
<td class="">
<?php echo $post['studio_name'] ?></td>
<td class="">
<?php echo $post['studio_desc'] ?></td>
<td class="">
<?php echo $post['studio_id'] ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php else: ?>
Testowy komunikat
<?php endif ?>