Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][PHP] Tabela z odstępem na pętli
Forum PHP.pl > Forum > Przedszkole
artvip
Witam,

o to mój skrypt z zapewne banalnym problemem.. niestety nie dla mnie..

  1. <style type="text/css">
  2. #x-a1
  3. {
  4. font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
  5. font-size: 11px;
  6. text-align: center;
  7. border-collapse: collapse;
  8. border: 1px solid black;
  9. background: silver;
  10. }
  11. #x-a1 th
  12. {
  13. font: bold 10px “Trebuchet MS”, Verdana, Arial, Helvetica, sans-serif;
  14.  
  15. border-top: 0;
  16. font: bold;
  17.  
  18. }
  19. #x-a1 td
  20. {
  21. border-right: 1px solid black;
  22. border-bottom: 1px solid black;
  23. background: #FFFFFF;
  24. color: black;
  25. }
  26. #x-a1 tbody tr:hover td
  27. {
  28.  
  29. background: #FFFFFF;
  30. }
  31. </style>
  32.  
  33. <center>
  34. <table id="x-a1">
  35. <tr>
  36. <th scope="col">X:</th>
  37. <th scope="col">Y:</th>
  38. <th scope="col">Z:</th>
  39. </tr><br>
  40. <tbody>
  41. <?php
  42. $connection = @mysql_connect("localhost", "", "");
  43.  
  44. $db = @mysql_select_db("db");
  45.  
  46. $query =
  47. "SELECT * FROM db_test";
  48.  
  49. $results = mysql_query($query) or die(mysql_error());
  50. $num_rows = mysql_num_rows($results);
  51.  
  52. for ($j=0; $j<$num_rows; $j++) {
  53.  
  54. $wiersz = mysql_fetch_array($results);
  55.  
  56. echo "<br>";
  57. echo "<tr>";
  58. echo "<td>";
  59. echo mysql_result($results,$j,0);
  60. echo "</td>";
  61. echo "<td>";
  62. echo mysql_result($results,$j,1);
  63. echo "</td>";
  64. echo "<td>";
  65. echo mysql_result($results,$j,2);
  66. echo "</td>";
  67.  
  68. if ($j==2) {echo "<tr><td>";} //tu mam blokadę.. bo nie wiem jak to ruszyć... :(
  69.  
  70. }
  71.  
  72. ?>


W efekcie dostaję tabele w której chciałbym po wybranym wierszu - np. drugim zrobić odstęp (coś w rodzaju </table> i ponownie <table>) ale tak aby kolejny element znowu był już w tabeli.

Nie wiem czy to poniżej wystarczająco to zobrazuje: (dane z jednego select w skrypcie)

Lp, Nagłówek 1, Nagłówek 2, Nagłówek 3
1, 1, 2, 3
2, 4, 5, 6
3, 7, 8, 9
Koniec tabeli

Odstęp czy też puste pole...

Nowa tabela
Lp, Nagłówek 1, Nagłówek 2, Nagłówek 3
4, 1, 2, 3
5, 4, 5, 6
6, 7, 8, 9

Niestety nie mam pomysłu jak to zrobić.. tzn pomysł mam.. ale umiejętności już trochę mniej. Domyślam się, że przy użyciu DIV i zabawą na pętli..

Może ktoś pomóc ewentualnie pokazać na przykładowym skrypcie lub zmodyfikować mój?


Z góry dzięki.
kipero
Nie wiem czy dobrze zrozumiałem, ale może wystarczy:
  1. <style type="text/css">
  2. .x-a1
  3. {
  4. font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
  5. font-size: 11px;
  6. text-align: center;
  7. border-collapse: collapse;
  8. border: 1px solid black;
  9. background: silver;
  10. }
  11. .x-a1 th
  12. {
  13. font: bold 10px “Trebuchet MS”, Verdana, Arial, Helvetica, sans-serif;
  14.  
  15. border-top: 0;
  16. font: bold;
  17.  
  18. }
  19. .x-a1 td
  20. {
  21. border-right: 1px solid black;
  22. border-bottom: 1px solid black;
  23. background: #FFFFFF;
  24. color: black;
  25. }
  26. .x-a1 tbody tr:hover td
  27. {
  28.  
  29. background: #FFFFFF;
  30. }
  31. </style>
  32.  
  33. <center>
  34. <table class="x-a1">
  35. <tr>
  36. <th scope="col">X:</th>
  37. <th scope="col">Y:</th>
  38. <th scope="col">Z:</th>
  39. </tr>
  40. <tbody>
  41. <?php
  42. $connection = @mysql_connect("localhost", "", "");
  43.  
  44. $db = @mysql_select_db("db");
  45.  
  46. $query =
  47. "SELECT * FROM db_test";
  48.  
  49. $results = mysql_query($query) or die(mysql_error());
  50. $num_rows = mysql_num_rows($results);
  51.  
  52. $i = 0;
  53. while ($row = mysql_fetch_array($results)){
  54. $i++;
  55. echo '<tr><td>' . $row[0] . '</td><td>' . $row[1] . '</td><td>' . $row[2] . '</td></tr>';
  56. if ($i%3 == 0){
  57. ?>
  58. </tbody>
  59. </table>
  60. <table class="x-a1">
  61. <tr>
  62. <th scope="col">X:</th>
  63. <th scope="col">Y:</th>
  64. <th scope="col">Z:</th>
  65. </tr>
  66. <tbody>
  67. <?php
  68. }
  69. }
  70. ?>
  71. </tbody>
  72. </table>
  73. </center>

Sprawdź czy działa, bo pisałem na szybko i nie sprawdziłem. Musisz jeszcze w CSS dodać margines dla tabelki, ale to już raczej mały problem.
artvip
Bardzo pomogłeś smile.gif Dokładnie o to mi chodziło. Dorzucam sobie tylko jeszcze <br> żeby oddzielić poszczególne tabele.


Z resztą CSS poradziłem już sobie.


DZIĘKI !
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.