Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Czynne w godzinach
tomek85
post
Post #1





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

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


Witam - mam dwie tabele

CZYNNE
id, od, do, id_dzien, id_katalog

KATALOG_FIRM
id, nazwa firmy

Chciałbym wyświetlic godziny otwarcia dla każdego dnia i dla każdej firmy
Tak wyglada przykladowa tabela czynne:

Pełny tekst id od do id_dzien id_katalog
Edytuj Usuń 1 08:00:00 19:00:00 1 21
Edytuj Usuń 2 08:00:00 19:00:00 2 21
Edytuj Usuń 3 08:00:00 19:00:00 3 21
Edytuj Usuń 4 08:00:00 19:00:00 4 21
Edytuj Usuń 5 08:00:00 19:00:00 5 21
Edytuj Usuń 6 09:00:00 14:00:00 6 21
Edytuj Usuń 7 00:00:00 00:00:00 7 21
Edytuj Usuń 8 08:00:00 19:30:00 1 20
Edytuj Usuń 9 08:00:00 19:30:00 2 20
Edytuj Usuń 10 10:00:00 19:30:00 3 20
Edytuj Usuń 11 08:00:00 19:30:00 4 20
Edytuj Usuń 12 08:00:00 19:30:00 5 20
Edytuj Usuń 13 08:00:00 14:00:00 6 20
Edytuj Usuń 14 00:00:00 00:00:00 7 20

Napisałem coś takiego:

  1. include('connection.php');
  2.  
  3. $zapytanie_czynne_firmy = "
  4. SELECT
  5. id AS id,
  6. nazwa_firmy AS nazwa_firmy
  7.  
  8. FROM katalog_firm
  9. WHERE id_podkategoria = 11
  10. ORDER BY nazwa_firmy
  11. ";
  12.  
  13. $wynik_czynne_firmy = mysql_query($zapytanie_czynne_firmy) or die(mysql_error());
  14.  
  15. while ($r = mysql_fetch_array($wynik_czynne_firmy)) {
  16.  
  17. $firma = $r['nazwa_firmy'];
  18. $id = $r['id'];
  19.  
  20. $zapytanie_czynne_w_godzinach = "
  21. SELECT
  22. od AS od,
  23. do AS do
  24.  
  25. FROM czynne
  26. WHERE id_katalog = $id AND id_dzien = 5
  27. ORDER BY nazwa_firmy
  28. ";
  29.  
  30. echo "Nazwa firmy to $firma a id to $id<br /><br />";
  31.  
  32. while ($r = mysql_fetch_array($wynik_czynne_w_godzinach)) {
  33. $od = $r['od'];
  34. $do = $r['do'];
  35.  
  36. echo $od;
  37.  
  38.  
  39. }
  40. }


Nie działa - w sumie to mało maślane tu robię, ale nie wiem jak to rozgryśc strukturalnie - bo od obiektowosci poki co trzymam sie z daleka

Prosze o pomoc, sugestie ?!

  1. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in 33 czyli druga petla while


Ten post edytował tomek85 14.10.2009, 08:41:28
Go to the top of the page
+Quote Post
Zosiek
post
Post #2





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


  1. $wynik_czynne_w_godzinach

co ta zmienna zawiera??
nie zapomnij zakończyć połączenia z bazą.

Ten post edytował Zosiek 14.10.2009, 08:54:29


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
Go to the top of the page
+Quote Post
Larges
post
Post #3





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

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


Zapewne każda firma ma u Ciebie własną podstronę.

Można przekazać id firmy w adresie (zmienna $_GET).
np. domena.pl/index.php?id_firmy=4

U Ciebie id_fimy = nr katalogu w tabeli (o ile dobrze zrozumiałem).

jak masz id firmy dajesz np. kod:

  1. if(!empty($_GET['id_firmy)
  2. {
  3. $id = (int) $_GET['id_firmy);
  4. $baza = mysql_query("SELECT od, do, id_dzien FROM CZYNNE WHERE id_katalog='" . $id . "'");
  5. //........ dalej sobie wyświetlasz za pomocą np. pętli while i mysql_fetch_array
  6. // jeśli chcesz połączyć obie tabele poszukaj info o LEFT JOIN
  7. }


Twoje podejście do obiektowości jest przerażające. Obiektowość to dar dla programistów PHP - korzystaj smile.gif i don`t repeat yourself

Ten post edytował Larges 14.10.2009, 08:56:38


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
Burned
post
Post #4





Grupa: Zarejestrowani
Postów: 67
Pomógł: 8
Dołączył: 19.05.2004
Skąd: Warszawa

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


mysql_query zgubiłeś
Go to the top of the page
+Quote Post
tomek85
post
Post #5





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

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


Tak rzeczywisice jedna zmienna zgubilem teraz mam tak:

  1. include('connection.php');
  2.  
  3. $zapytanie_czynne_firmy = "
  4. SELECT
  5. id AS id,
  6. nazwa_firmy AS nazwa_firmy
  7.  
  8. FROM katalog_firm
  9. WHERE id_podkategoria = 11
  10. ORDER BY nazwa_firmy
  11. ";
  12.  
  13. $wynik_czynne_firmy = mysql_query($zapytanie_czynne_firmy) or die(mysql_error());
  14.  
  15. while ($r = mysql_fetch_array($wynik_czynne_firmy)) {
  16.  
  17. $firma = $r['nazwa_firmy'];
  18. $id = $r['id'];
  19.  
  20. $zapytanie_czynne_w_godzinach = "
  21. SELECT
  22. od AS od,
  23. do AS do
  24.  
  25. FROM czynne
  26. WHERE id_katalog = $id AND id_dzien = 5
  27.  
  28. ";
  29.  
  30. $wynik_czynne_firmy = mysql_query($zapytanie_czynne_w_godzinach) or die(mysql_error());
  31.  
  32. echo "Nazwa firmy to $firma a id to $id<br /><br />";
  33.  
  34.  
  35.  
  36. while ($r = mysql_fetch_array($wynik_czynne_w_godzinach)) {
  37. $od = $r['od'];
  38. $do = $r['do'];
  39.  
  40. echo $od;
  41.  
  42.  
  43. }
  44. }


ale to i tak nierozwiazuje mojego problemu z wyswietleniem bo jakies bzudy w tej drugiej petli pisze wydaje mi sie, ale nie wiem jak to napisac.

Larget nie pisalem o tym GET tylko napisalem id_podkategoria = 11, aby niemieszac tutaj i sobie w testowaniu

Z tym problemem walcze juz ponad miesiac i znowu musialem do niego wrocic ale nie wiem jak go rozwiac:(
Go to the top of the page
+Quote Post
Zosiek
post
Post #6





Grupa: Zarejestrowani
Postów: 140
Pomógł: 22
Dołączył: 1.05.2009
Skąd: Będzin

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


Jak ma ci działać jak do zmiennej
  1. $wynik_czynne_w_godzinach
nie masz przypisanego żadnego mysql_query()
zamień:
  1. $wynik_czynne_firmy = mysql_query($zapytanie_czynne_w_godzinach) or die(mysql_error());
  2.  
  3. echo "Nazwa firmy to $firma a id to $id<br /><br />";
  4.  
  5.  
  6.  
  7. while ($r = mysql_fetch_array($wynik_czynne_w_godzinach)) {
  8. $od = $r['od'];
  9. $do = $r['do'];

na
  1. $wynik_czynne_w_godzinach= mysql_query($zapytanie_czynne_w_godzinach) or die(mysql_error());
  2.  
  3. echo "Nazwa firmy to $firma a id to $id<br /><br />";
  4.  
  5.  
  6.  
  7. while ($r = mysql_fetch_array($wynik_czynne_w_godzinach)) {
  8. $od = $r['od'];
  9. $do = $r['do'];

Dałem kilka postów wyżej gdzie jest błąd. Pamiętaj o sprawdzaniu zmiennych i przeszukiwaniu kodu. Jeśli błąd zwraca error zmiennej lub funkcji php to zobacz gdzie jest użyta, do czego przypisana i dlaczego nie działa: smile.gif

Ten post edytował Zosiek 14.10.2009, 09:40:32


--------------------
Pamiętaj ja staram się pomóc tobie, a ty może kiedyś pomożesz mnie. :D
Pomogłem Ci?? Jeśli tak to jestem z tego dumny. Jeśli nie to postaram się bardziej - nikt nie jest doskonały :P
Kliknij przycisk Pomógł pod postem, który Ci pomógł.
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: 21.08.2025 - 15:23