Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Łączenie wyników z bazy danych.
bartekk_84
post 19.06.2012, 09:28:06
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.06.2012

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


Witam,

Poniżej przedstawiam kod:

  1.  
  2. <?php
  3.  
  4. $zapytanie1 = "SELECT DISTINCT(FROM_UNIXTIME(`timestamp`, '%Y-%m-%d')) AS data FROM terminy ORDER by timestamp ASC";
  5. $wynik1 = mysql_query($zapytanie1)
  6.  
  7. while($r1 = mysql_fetch_array($wynik1)) {
  8.  
  9. $miesiac = $r1['data'];
  10.  
  11. $formatted_date = strtotime( $miesiac );
  12. $miesiac_dzien = date( 'd', $formatted_date );
  13.  
  14. echo $miesiac . "<br />";
  15.  
  16. $zapytanie2 = "SELECT * FROM terminy, wydarzenia WHERE terminy.wydarzenie = wydarzenia.numer";
  17. $wynik2 = mysql_query($zapytanie2)
  18.  
  19. while($r2 = mysql_fetch_array($wynik2)) {
  20.  
  21. $ts1 = $r2['timestamp'];
  22. $data_ts1 = date("d", $ts1);
  23.  
  24. if ($miesiac_dzien == $data_ts1) {
  25.  
  26. $tytul = $r2['nazwa'];
  27. echo $tytul . "<br />";
  28.  
  29. }
  30.  
  31. }
  32.  
  33. }
  34.  
  35. ?>
  36.  


A tu wynik kodu:

2012-06-23
Film 3
2012-06-24
Film 1
Film 2
Film 2
Film 3
2012-06-25
Film 1
Film 3
2012-06-26
Film 3

I mam problem bo chcę Aby film 2 który odbywa się w dwóch godzinach w ciągu jednego dnia pojawił się tylko raz na liście.

W bazie danych każdy film ma kolumny: numer - dzien - miesiac - rok - timestamp

Myślę o czymś w stylu SELECT DISTINCT numer where dzień wydarzenia jest różny - tylko nie wiem jak to wykonać.

Będę bardzo wdzięczny za pomoc.

Pozdrawiam,
Z góry dzięki za pomoc.

Ten post edytował bartekk_84 19.06.2012, 09:38:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
jaslanin
post 20.06.2012, 18:32:46
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


ciężko wywnioskować z tego co piszesz co tutaj się dzieje, piszesz że:

Cytat
W bazie danych każdy film ma kolumny: numer - dzien - miesiac - rok - timestamp


natomiast w kodzie nie ma żadnej tabeli nazwanej od filmów są tylko wydarzenia i terminy

następnym razem przesyłaj strukturę bazy danych najlepiej z przykładowymi danymi, bo tak raczej nikomu się nie będzie chciało zgadywać zależności pomiędzy tabelami

druga sprawa to to że zmienne nic nie mówią o ich zawartości: $wynik1, $ts1, $ts1 = $r2

ogólnie takie rzeczy można rozwiązać przez JOIN, GROUP BY, nie ma potrzeby robienia dwóch pętli, albo czegoś takiego:

  1. if ($miesiac_dzien == $data_ts1) {


--------------------
Good luck and happy PHP'ing
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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:41