Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] jak poprawnie wyswietlac w ukladzie strony
Forum PHP.pl > Forum > Przedszkole
mareknn
witam,
to ma byc taki niby blog albo system newsow i chcialbym uzyskac podpowiedz jak to zrobic poprawnie semantycznie.

pobieram dane z bazy danych i wyswietlam je uzywajac tabelki, ale chce zeby co drugi mial inny kolor i robie tak

  1. php foreach
  2. <tr class= fmod($i,2) ? 'jeden' : 'dwa'>
  3. <td> tytul</td>
  4. <td> tresc </td>
  5. <td> autor </td>
  6. </tr>


i dziala dobrze kolorujac na zmiane, tylko TYTUL TRESC AUTOR wyswietlaja w jednej linii, wiec chcialbym to zmienic, zeby tytul byl wyzej tzn uklad strony tak wygladal

TYTUL
TRESC
AUTOR

sprobowalem tak:
  1. php foreach
  2. <tr class= fmod($i,2) ? 'jeden' : 'dwa'>
  3. <tr><td> tytul</td></tr>
  4. <tr><td> tresc </td></tr>
  5. <tr><td> autor </td></tr>
  6. </tr>

ale wtedy wprawdzie uklad jest dobry, ale wszystko jest takiego samego koloru

chyba ze zrobic tak, ze jako glowny kontener zamiast tabelki dac DIV i dopiero w srodku uzyc tabelek, ale czy to poprawne semantycznie?

pozdrawiam
jaworr
Tabelki raczej używa się do przechowywania danych tabelarycznych. Div jest elementem uniwersalnym bez znaczenia semantycznego i na nim się opiera konstrukcje strony, radziłbym zrezygnować z tabelek.
mareknn
ja to robie w symfony i w przykladzie jest cos takiego

  1. <div id="jobs">
  2. <table class="jobs">
  3. <?php foreach ($jobeet_jobs as $i => $job): ?>
  4. <tr class="<?php echo fmod($i, 2) ? 'even' : 'odd' ?>">
  5. <td class="location"><?php echo $job->getLocation() ?></td>
  6. <td class="position">
  7. <a href="<?php echo url_for('job/show?id='.$job->getId()) ?>">
  8. <?php echo $job->getPosition() ?>
  9. </a>
  10. </td>
  11. <td class="company"><?php echo $job->getCompany() ?></td>
  12. </tr>
  13. <?php endforeach ?>
  14. </table>
  15. </div>

wiec dlatego sie pytam jak to powinno byc semantycznie zrobione, bo raczej w takim projekcie bledow nie ma i powinno byc wyswietlone w tabelkach... tylko ze nie wiem jak to przerobic, bo tutaj wszystko wyswietla sie w linii

LOCATION POSITION COMPANY

a ja chcialbym zrobic np cos takiego
LOCATION
POSITION COMPANY

no i jak zaczynam dodawac TR to licznik tak jakby sie gubi i nie koloruje na przemiennie (czyli np even to czerwony, odd zielony)

pozdrawiam
erix
A sprawdź sobie, czy w każdym kroku wartość $i jest faktycznie inkrementowana.
mareknn
wyszlo, ze w ogole nie jest, wystarczy ze location objalem znaczkami <TR> i nie koloruje ani odd ani even.

wiec mam pytanie - czy jesli zrobie to tak, ze dane z bazy bede wyswietlal najpierw do DIVa, a dopiero potem w srodku ukladal w tabelce (teraz sa wyswietlane do TR i potem trzeba by kolejnego TR, zeby zrobic uklad, ale nie dziala kolorowanie) to to bedzie poprawnie semantycznie, czy jak pobieram cos takiego z bazy to musi byc do tabelki?

@@@@@@@@@@@

zrobilem to tak:

  1. php foreach
  2. <table class= fmod($i,2) ? 'jeden' : 'dwa'>
  3. <tr>
  4. <tr><td> tytul</td></tr>
  5. <td> tresc </td>
  6. <td> autor </td>
  7. </tr>


tylko obawiam sie, ze to nie jest zbyt poprawne, bo wtedy kazdy nowy news to nowa tabelka... ma ktos lepszy pomysl?



@@@@@@@@@@

moze chociaz ktos napisac czy to jest poprawnie?
zrobilem tez bez uzycia tabelek, na samym divach. ktora wersja jest lepsza? na divach pewnie szybciej dziala, ale jesli pobieram takie dane z bazy danych to czy nie powinienem uzywac do tego tabel?
erix
Tabele są do danych tabelarycznych, nie można popaść w skrajność, żeby kompletnie tabel nie używać.
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.