Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie rekordów., Wyświetlanie konkretnych danych z konkretnego dnia.
Kużdo
post
Post #1





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

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


Witam. Jestem początkującym (wprawdzie dopiero zacząłem się uczyć php i obsługi mysql) i mam pewien problem. Otóż muszę wykonać stronę prezentującą pewne wyniki z bazy danych. W bazie jest tabela "tabela1" w której znajdują się takie pola: "id" "dzien" "a" "b" "c" "d". Przykładowe rekordy to:
1) "1" "13.05" "a1" "b1" "c1" "d1"
2) "2" "16.06" "a2" "b2" "c2" "d2"
3) "3" "13.05" "a3" "b3" "c3" "d3"

Znalazłem w sieci skrypt wypisujący dane ale nie odpowiada mi to w jaki sposób są wyświetlane dane.
Skrypt:
  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', 'haslo')
  3. or die('Brak połączenia z serwerem MySQL');
  4. $db = @mysql_select_db('tabela1', $connection)
  5. or die('Nie mogę połączyć się z bazą danych');
  6.  
  7. $wynik = mysql_query("SELECT * FROM tabela1")
  8. or die('Błąd zapytania');
  9.  
  10. if(mysql_num_rows($wynik) > 0) {
  11. echo "<table cellpadding=\"2\" border=1>";
  12. while($r = mysql_fetch_assoc($wynik)) {
  13. echo "<tr>";
  14. echo "<td>".$r['id']."</td>";
  15. echo "<td>".$r['a']."</td>";
  16. echo "<td>".$r['b']."</td>";
  17. echo "<td>".$r['c']."</td>";
  18. echo "<td>".$r['d']."</td>";
  19. echo "</tr>";
  20. }
  21. echo "</table>";
  22. }
  23.  
  24. ?>

Niestety kod ten wyświetla mi dane inaczej niż chciałbym i nie potrafię napisać odpowiedniego. Dane są wyświetlane poziomo a chciałbym żeby były wyświetlane pionowo.

Tak są wyświetlane:
1 a1 b1 c1 d1
2 a2 b2 c2 d2
3 a3 b3 c3 d3

A chciałbym tak:
1 2 3
a1 a2 a3
b1 b2 b3
c1 c2 c3
d1 d2 d3

Dodatkowo chciałbym żeby na samym końcu była wyświetlana suma ze wszystkich rekordów. Nie wiem także jak zrobić żeby zamiast id w ostatnim wpisie wyświetlił się napis SUMA.
SUMA
a1+a2+a3
b1+b2+b3
c1+c2+c3
d1+d2+d3

Chciałbym także żeby dane były wyświetlane dopiero po wybraniu konkretnego dnia (powinny ukazywać się tylko dane z jednego dnia; suma rekordów miałaby być także sumą z konkretnego dnia). Czy ktoś pomoże mi napisać taki skrypt? Z góry dziękuję. Jeśli coś niezrozumiale napisałem, przepraszam i spróbuję wyjaśnić o co mi chodzi.

//EDIT

Wymyśliłem że jeden rekord mogę zapisać w jednej komórce a każdą daną oddzielić enterem.
  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', 'haslo')
  3. or die('Brak połączenia z serwerem MySQL');
  4. $db = @mysql_select_db('tabela1', $connection)
  5. or die('Nie mogę połączyć się z bazą danych');
  6.  
  7. $wynik = mysql_query("SELECT * FROM tabela1")
  8. or die('Błąd zapytania');
  9.  
  10. if(mysql_num_rows($wynik) > 0) {
  11. echo "<table cellpadding=\"2\" border=1><tr>";
  12. while($r = mysql_fetch_assoc($wynik)) {
  13. echo "<td>";
  14. echo $r['id']."<br />";
  15. echo $r['a']."<br />";
  16. echo $r['b']."<br />";
  17. echo $r['c']."<br />";
  18. echo $r['d']."<br />";
  19. echo "</td>";
  20. }
  21. echo "</tr></table>";
  22. }
  23. ?>


Jednak wtedy nie wiem jak oddzielić poszczególne wiersze aby było to czytelne (pól w bazie jest około 60 więc przy wypisywaniu ich poziomo trzeba przewijać stronę w poziomie co nie pasuje... jednak nie wiem jak oddzielić poszczególne wiersze w wypisie pionowym żeby było to wszystko czytelne gdzie rekordów jest około 40 na jeden dzień).

Ten post edytował kuzdo 4.06.2008, 20:40:06
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: 3.10.2025 - 00:41