Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podział strony na 2 kolumny
Forum PHP.pl > Forum > Po stronie przeglądarki
czezz
Wyświetlam w przeglądarce, dane pobrane z bazy, używając następującego kodu:
  1. <?php
  2. include("conn.php");
  3.  
  4. $query = "
  5. SELECT
  6. alarmseverity, alarmstarttime, alarmendtime, plnamn, hvnamn, servicename, alarmactualscore, alarmpossiblescore
  7. FROM monitoring_alarm
  8. ORDER BY alarmstarttime DESC limit 0,50";
  9.  
  10. $result = mysql_query($query);
  11. if (($result)||(mysql_errno == 0))
  12. {
  13. echo "<table font size="-2" width='100%'><tr>" ;
  14. if (mysql_num_rows($result)>0)
  15. {
  16. //loop thru the field names to print the correct headers
  17. $i = 0;
  18. while ($i < mysql_num_fields($result))
  19. {
  20. echo "<th>". mysql_field_name($result, $i) . "</th>";
  21. $i++;
  22. }
  23. echo "</tr>";
  24.  
  25. //display the data
  26. while ($rows = mysql_fetch_array($result,MYSQL_ASSOC))
  27. {
  28. echo "<tr>";
  29. foreach ($rows as $data)
  30. {
  31. echo "<td align='center'>". $data . "</td>";
  32. }
  33. }
  34. }else{
  35. echo "<tr><td colspan='" . ($i+1) . "'>No Results found!</td></tr>";
  36. }
  37. echo "</table>";
  38. }else{
  39. echo "Error in running query :". mysql_error();
  40. }
  41. ?>


Dane elegancko wyświetlają się w oknie przeglądarki.
Jednak to co chciałbym osiągnąć, to podzielić tą stronę na 2 kolumny i kilka rządów. W ten sposób chcę uzyskać kilka okien w przeglądarce i w każdym z nich wyświetlać inne zapytanie SQL.

Dla zaobrazowania sprawy zrobiłem JPEG'a:
http://imageshack.us/photo/my-images/26/45145931.jpg/

Chcę aby to było możliwie najprostsze/lekkie rozwiązania.
Wciąż próbuję walczyć z rozmiarem tabeli ale cały czas mi sie rozwala wszystko na ekranie.
Czy ktoś może mi pomóc/podpowiedzieć ?
askone
Powinno pomóc umieszczenie tabel w divach dla których dasz float: left.
czezz
W między czasie zrobiłem coś takiego. Jedyne czego mi brakuje to, żeby wyświetlany text mieścił się w tych tabelkach.
Jak mam użyć div'ów, o których piszesz ?

  1. <style type="text/css">
  2. .title
  3. {
  4. width:769px;
  5. height: 65px;
  6. margin:15px auto;
  7. }
  8. .left_side
  9. {
  10. float: left;
  11. margin: 20px 0 20px 0;
  12. padding: 0 0 25px 15px;
  13. width: 600px;
  14. border: 1px solid #CCCCCC;
  15. background-color: #FFFFFF;
  16. color: #000000;
  17. }
  18. .right_side
  19. {
  20. float:right;
  21. width: 600px;
  22. color: #000000;
  23. background-color: #FFFFFF;
  24. margin: 20px 0px 20px 0px;
  25. padding:0px 0px 25px 15px;
  26. border:1px solid #CCCCCC;
  27. }
  28. </head>
  29. <div class="title">Your Main title Here </div>
  30.  
  31. <div class="left_side">
  32. <p align="center"><b>System 1</b></p>
  33. <p>content</p>
  34.  
  35. <?php
  36. include("conn.php");
  37.  
  38. $query = "
  39. SELECT
  40. alarmseverity, alarmstarttime, alarmendtime, plnamn, hvnamn, servicename, alarmactualscore, alarmpossiblescore
  41. FROM monitoring_alarm
  42. ORDER BY alarmstarttime DESC limit 0,50";
  43.  
  44. $result = mysql_query($query);
  45. if (($result)||(mysql_errno == 0))
  46. {
  47. # echo "<font size='-1'>";
  48. # echo "<table width='100%'><tr>";
  49. echo "<table width='100%'><tr>";
  50.  
  51. if (mysql_num_rows($result)>0)
  52. {
  53. //loop thru the field names to print the correct headers
  54. $i = 0;
  55. while ($i < mysql_num_fields($result))
  56. {
  57. echo "<th>". mysql_field_name($result, $i) . "</th>";
  58. $i++;
  59. }
  60. echo "</tr>";
  61.  
  62. //display the data
  63. while ($rows = mysql_fetch_array($result,MYSQL_ASSOC))
  64. {
  65. echo "<tr>";
  66. echo "<font size='-5'>";
  67. foreach ($rows as $data)
  68. {
  69. echo "<td align='center'>". $data . "</td>";
  70. }
  71. }
  72. }else{
  73. echo "<tr><td colspan='" . ($i+1) . "'>No Results found!</td></tr>";
  74. }
  75. echo "</table>";
  76. }else{
  77. echo "Error in running query :". mysql_error();
  78. }
  79. ?>
  80.  
  81.  
  82.  
  83. <br />
  84. </div>
  85.  
  86. <div class="right_side">
  87. <p align="center"><b>System 2</b></p>
  88. <p>content</p>
  89.  
  90.  
  91. <?php
  92. include("conn.php");
  93.  
  94. $query = "
  95. SELECT
  96. alarmseverity, alarmstarttime, alarmendtime, plnamn, hvnamn, servicename, alarmactualscore, alarmpossiblescore
  97. FROM monitoring_alarm
  98. ORDER BY alarmstarttime DESC limit 0,50";
  99.  
  100. $result = mysql_query($query);
  101. if (($result)||(mysql_errno == 0))
  102. {
  103. # echo "<font size='-1'>";
  104. # echo "<table width='100%'><tr>";
  105. echo "<table width='100%'><tr>";
  106.  
  107. if (mysql_num_rows($result)>0)
  108. {
  109. //loop thru the field names to print the correct headers
  110. $i = 0;
  111. while ($i < mysql_num_fields($result))
  112. {
  113. echo "<th>". mysql_field_name($result, $i) . "</th>";
  114. $i++;
  115. }
  116. echo "</tr>";
  117.  
  118. //display the data
  119. while ($rows = mysql_fetch_array($result,MYSQL_ASSOC))
  120. {
  121. echo "<tr>";
  122. echo "<font size='-5'>";
  123. foreach ($rows as $data)
  124. {
  125. echo "<td align='center'>". $data . "</td>";
  126. }
  127. }
  128. }else{
  129. echo "<tr><td colspan='" . ($i+1) . "'>No Results found!</td></tr>";
  130. }
  131. echo "</table>";
  132. }else{
  133. echo "Error in running query :". mysql_error();
  134. }
  135. ?>
  136.  
  137.  
  138.  
  139. <br />
  140. </div>
  141. </body>
askone
Nie mam jak sprawdzić, ale myślałem o takiej konstrukcji:
  1. <div id="container">
  2. <div class="left">
  3. ...
  4. </table>
  5. </div>
  6. <div class="left">
  7. ...
  8. </table>
  9. </div>
  10. <div class="left">
  11. ...
  12. </table>
  13. </div>
  14. <div class="left">
  15. ...
  16. </table>
  17. </div>
  18. </div>

  1. #container {
  2. width: 996px;
  3. margin: 0 auto;
  4. }
  5. .left {
  6. float: left;
  7. }



Style dla tabel ustaw według własnego uznania.
czezz
W miejsce kropek wstawiłem cały kod PHP, który załączyłem w pierwszsym poście.
Dane są wyświetlane, ale tylko w jednej kolumnie. Nie mam podziału ekranu na pół sad.gif

Co mam zrobić z tym kodem CSS ? Dołączyłem go na początku pliku, ale to chyba nie oto chodzi ?


UPDATE:
Mniej więcej to co chiałem uzyskałem tą metodą
W miejsce "Table CellX.Y" wstawiłem cały kod PHP
  1. <table border="1" bordercolor="#FFFFFF" style="background-color:#FFFFCC" width="100%" cellpadding="-1" cellspacing="-1">
  2. <tr>
  3. <td>Table Cell1.1</td>
  4. <td>Table Cell2.1</td>
  5. </tr>
  6. <tr>
  7. <td>Table Cell1.2/td>
  8. <td>Table Cell2.2</td>
  9. </tr>
  10. <tr>
  11. <td>Table Cell1.3</td>
  12. <td>Table Cell2.3</td>
  13. </tr>


Podejrzewam, że są lepsze sposoby aby uzyskać ładniejszy rezultat.
askone
Cytat(czezz @ 7.07.2011, 13:50:05 ) *
W miejsce kropek wstawiłem cały kod PHP, który załączyłem w pierwszsym poście.
Dane są wyświetlane, ale tylko w jednej kolumnie. Nie mam podziału ekranu na pół sad.gif


Skoro masz dane w jednej kolumnie to pewnie z powodu braku deklaracji szerokości tabeli lub div. Musisz jawnie określić szerokość div na powiedzmy 480px. Wtedy dla table dajesz 100% - dzięki czemu wypełnia on całą szerokość diva. Ponieważ container ma szerokość 996px to powinny w nim zmieścić się 2 div-y o szerokości 480px.

Pozdrawiam
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.