Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Etykiety
Forum PHP.pl > Forum > PHP
WebKing
Witam,
Mam pytanie tym razem w kategorii mysql, spróbuje to przedstawić graficznie:

Jak wyświetlić np. 8 etykiet pustych i wypełnionych danymi z mysql w kolejności ustalonej w danym wpisie?

id | title | pos
---------------
1 | test | 1
2 | test | 4
erix
A co ma obrazek do struktury? Trochę nie rozumiem, podejrzewam że nie tylko ja.
WebKing
  1. $query = dbquery("select itp");
  2. for ($i = 1; $i < 16; $i++) {
  3. $color = ($i % 2 != 0) ? 2 : 1;
  4. echo "<td width='3%' align='center' class='tbl".$color."'>";
  5. while ($row = mysql_fetch_object($query)) {
  6. if ($i == $row->pos) {
  7. echo $row->title;
  8. } else {
  9. echo "pusto";
  10. }
  11. }
  12. echo "</td>\n";
  13. }

Oto mój kod, lecz nie wiem dlaczego nie działa, bardzo proszę o pomoc.
Crozin
Powiedzmy, że pobrałeś już sobie dane z bazy i masz je w postaci tablicy:
Kod
Array (
  [1] => Array ( [id] => 1, [title] => test, [pos] => 1 ),
  [4] => Array ( [id] => 2, [title] => test, [pos] => 4 ),
  [9] => Array ( [id] => 5, [title] => abcd, [pos] => 9 )
)
Zwróć uwagę, że tablica jest indeksowana względem wewnętrznego pos.

Teraz jeżeli ma być 8 etykiet to robisz coś takiego:
  1. <?php
  2.  
  3. $labels = array();
  4.  
  5. for ($i = 1; $i <= 8; ++$i) {
  6. if (isset $myArrayFromDb[$i]) {
  7. $labels[] = sprintf('<li><a href="/blah.php?id=%d">%s</a></li>', $myArrayFromDb[$i]['id'], $myArrayFromDb[$i]['title']);
  8. } else {
  9. $labels[] = '<li>x</li>';
  10. }
  11. }
  12.  
  13. echo '<ul>' . implode('', $labels) . '</ul>';
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.