Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyświetlanie kilku tabel z jednego pola bazy albo pliku
jolam
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


Nie jestem pewna, czy to dobry dział, ale chyba tak:) Mam w bazie danych w jednym polu kilka tabel. To znaczy, kolejne wiersze tabeli są oddzielone znakiem końca linii, a pusta linia (zawiera tyko znak końca linii) oddziela dwie tabele. I mam bardzo duży kłopot z ich poprawnym wyświetleniem. Chciałabym, żeby pierwszy wiersz każdej tabeli był wierszem nagłówkowym. A do tego, żeby wszystkie wiersze miały na przemian zdefiniowane klasy (parzyste będą zielone, a nieparzyste różowe). Jeśli mam jedną tabele, to potrafię wszystko zrobić., ale jeśli jest ich kilka, to już nie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Próbowałam najpierw odczytać takie dane z pliku, żeby wyeliminować problemy z bazą, ale też nie umiem. Jedyne co wymyśliłam, to dwukrotne analizowanie tekstu:1 - rozdzielam tabele, 2 - wstawiam wiersz nagłówkowy i koloruję wiersze. Ale to bardzo zagmatwane jest. Błagam pomóżcie mi to rozwiązać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Weirdo
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 2
Dołączył: 30.05.2009

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


Temat do przeniesienia.

1. W PHPie robisz to tak:
  1. <?php
  2. $dane = wczytaj(); // czy z bazy czy z pliku, nie ważne
  3. // 1. Rozbij całą treść na "tabele", czyli wg trzech znaków nowej lini (jeśli dobrze zrozumiałem)
  4. $tabele = explode("\n\n\n",$dane);
  5. // Drukowanie każdej tabeli - w pierwszej pętli
  6. foreach($tabele AS $tabela) {
  7. $tabela = explode("\n",$tabela);
  8.  $iloscWierszy = count($tabela);
  9.  
  10.  // wypisanie nagłówków
  11.  echo '<table....';
  12.  $tabela[0] = explode(";",$tabela[0]);
  13.  foreach($tabela[0] AS $th) {
  14.    echo '<th>',$th,'</th>';
  15.  }
  16.  echo '</tr>';
  17.  // wypisanie wierszy
  18.  for($i=1;$i<$iloscWierszy;$i++) {
  19.    $tabela[$i] = explode(";",$tabela[$i]);
  20.    echo '<tr>';
  21.    foreach($tabela[$i] AS $td) {
  22.      echo '<td>',$td,'</td>';
  23.    }
  24.    echo '</tr>';
  25.  }
  26.  echo '</table>';
  27. }
  28. ?>


Ok, pisane z palca, może nie działać, ale logika oddana.
Kolorowanie wierszy bez problemu - sprawdzasz czy $i jest parzyste, jeśli tak dajesz klasę z jednym kolorem, jeżeli nie z drugim.
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 21:14