Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlenie pobranych danych, w tabeli o trzech kolumnch.
thor_in
post 3.09.2006, 21:50:06
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.03.2006

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


Witam
Jakoś nie mogłem znaleźć tego na forum.
Otóż chodzi o odpowiednie wyświetlenie pobranych danych z tabeli.
Potrafię zrobić tak, aby rekordy wyświetlały się w następujący sposób:
1 2 3
4 5 6
7 8 9
Ale nie mogę sobie poradzić z takim wyświetleniem:
1 4 7
2 5 8
3 6 9
Jaki jest najprostszy sposób na takie wyświetlenie danych?

Z góry dzięki,
pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post 3.09.2006, 21:52:22
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://forum.php.pl/index.php?showtopic=46760&hl=
W koncówce masz to oco ci chodzi


ps: czemy mysql? przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
thor_in
post 4.09.2006, 00:46:08
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.03.2006

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


Ddzięki nospor.

Sposób podany przez użytkownika matrach jest rewelacyjny.
  1. <?php
  2. while($php_row = mysql_fetch_assoc($php_result)){
  3. $tabela[] = $php_row['name'];
  4. }
  5. // ilość kolumn
  6. $kolumny = 2;
  7. //ilość wierszy na kolumne
  8. $per = ceil(count($tabela) / $kolumny);
  9. $tabela = array_chunk($tabela, $per);
  10. echo '<table>';
  11. //wiersz
  12. for($i=0;$i<$per;$i++)
  13. {
  14.  echo '<tr>';
  15.  //kolumna
  16.  for($j = 0; $j < $kolumny; $j++)
  17. echo '<td>'.$tabela[$j][$i].'</td>';
  18.  
  19.  echo '</tr>';
  20. }
  21. echo '</table>';
  22. ?>

Jednak nie daje rady z raczej prostą przeróbką. Otóż chciałbym wyciągnąć jeszcze jeden zestaw danych.
Tzn jeszcze zestaw id aby odpowiednio podlinkować wyniki.

  1. <?php
  2. <td><a href="index.php?p=opis&produkt='pobrana wartość id z bazy'>'.$tabela[$j][$i].'</a></td>
  3. ?>

Jak to zrobić?

Już sam znalazłem odpowiedź:
  1. <?php
  2. while($php_row = mysql_fetch_assoc($php_result)){
  3. $tabela[] = $php_row['name'];
  4. $tabela2[] = $php_row['name2'];
  5. }
  6. // ilość kolumn
  7. $kolumny = 2;
  8. //ilość wierszy na kolumne
  9. $per = ceil(count($tabela) / $kolumny);
  10. $tabela = array_chunk($tabela, $per);
  11. $tabela2 = array_chunk($tabela2, $per);
  12. echo '<table>';
  13. //wiersz
  14. for($i=0;$i<$per;$i++)
  15. {
  16.  echo '<tr>';
  17.  //kolumna
  18.  for($j = 0; $j < $kolumny; $j++)
  19. echo '<td><a href="index.php?p='.$tabela2[$j][$i].'>'.$tabela[$j][$i].'</a></td>';
  20.  
  21.  echo '</tr>';
  22. }
  23. echo '</table>';
  24. ?>


Dzięki za pomoc!

Ten post edytował thor_in 4.09.2006, 08:53:53
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:47