Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][SQL] Wyświetlenie danych z bazy
Forum PHP.pl > Forum > Przedszkole
xx88zg
Mam taki kod:

  1. <table class="text1" valign="top" align="center" border="0" cellspacing="0" cellpadding="0">
  2. <?php
  3. $zap = "SELECT `id`,`nazwa`,`zawody`,`plik` FROM `wyniki_2008` WHERE `zawody`='$wiersz[0]'";
  4. $ide = mysql_query($zap)or die(mysql_error());
  5. while ($w = mysql_fetch_row($ide))  
  6.     {
  7.        echo "
  8.        <tr><td width='30'></td><td>
  9.           :: <a href='upload/$w[3]'>$w[1]</a></td>
  10.           </td></tr>
  11.         ";  
  12.     }
  13. ?>
  14. </table>


No i tu jest wszystko jasne bo dane są wyświetlane w taki sposób:

rekord 1
rekord 2
rekord 3
....

A ja bym chciał wyświetlić dane w taki sposób:

rekord 1 rekord 2
rekord 3 rekord 4
... ...


lub

rekord 1 rekord 3
rekord 2 rekord 4

Zastanawiałem się czy by nie spróbować jakoś z pętla for ale nie mam zielonego pojęcia jak to zrobić.

Z góry dzięki za pomoc
Darti
  1. <table class="text1" valign="top" align="center" border="0" cellspacing="0" cellpadding="0">
  2. <?php
  3. $zap = "SELECT `id`,`nazwa`,`zawody`,`plik` FROM `wyniki_2008` WHERE `zawody`='$wiersz[0]'";
  4. $ide = mysql_query($zap)or die(mysql_error());
  5.  
  6. $i = 0;
  7.  
  8. while ($w = mysql_fetch_row($ide))  
  9.    {
  10. $i++;
  11. echo $i%2 ? "<tr>" : "";
  12.       echo "
  13.       <td width='30'></td><td>
  14.          :: <a href='upload/$w[3]'>$w[1]</a></td>
  15.          </td>
  16.        ";  
  17. echo $i%2 ? "</tr>" : "";
  18.    }
  19. echo $i%2 ? "" : "<td>&nbsp;</td></tr>";
  20. ?>
  21. </table>
zulus
Ja w przypadku pierwszym, zamiast tabeli użyłbym samych urli z odpowiednią klasą i resztę załatwił CSS (flota:left; odpowiednio użyty działa cuda). W przypadku drugim, najpierw pobrałbym liczbę rekordów (mysql_num_rows() zwraca liczbę wierszy wyniku), pierwszą połowę [ceil(mysql_num_rows($ide)/2)] wyświetlił w pierwszej tabeli, drugą w drugiej i załatwił CSS, lub jeżeli musi być w jednej to np najpierw pobrać do tablicy i potem pętla for:
  1. <?php
  2. $all=array();  //to tutaj powinny być wszystkie wyniki
  3. while($data = mysql_fetch_row($ide)) {
  4. $all[] = $data;
  5. }
  6. $inCol = ceil(count($all)/2);
  7. for($i = 0; $i<$inCol; $i++) {
  8.      echo '<tr>';
  9.      echo '<td><a href="upload/' . $all[$i][3] . '">' . $all[$i][1] . '</a></td>';
  10.     if($i+$inCol==count($all)) {
  11.       echo '<td><a href="upload/' . $all[$i+$inCol][3] . '">' . $all[$i+$inCol ][1] . '</a></td>';
  12.     } else {
  13.       echo '<td></td>';
  14.     }
  15.     echo '</tr>';
  16. }
  17. ?>
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.