Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML][SQL] Wyświetlenie danych z bazy
xx88zg
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 1
Dołączył: 8.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


  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>


Ten post edytował Darti 23.11.2008, 23:26:38
Go to the top of the page
+Quote Post
zulus
post
Post #3





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 15:40