Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS][PHP] Tabela z odstępem na pętli
artvip
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.02.2009

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kipero
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


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.

Ten post edytował kipero 17.03.2010, 21:56:05


--------------------
Go to the top of the page
+Quote Post
artvip
post
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.02.2009

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


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 !

Ten post edytował artvip 18.03.2010, 09:07:12
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 Aktualny czas: 19.08.2025 - 13:41