Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Potrzebna pomoc przy zapytaniu sql
1witek2
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.04.2014

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


Witam koledzy

Potrzebuję pomocy przy stworzeniu zapytania do bazy bo już mi ręce opadają

Mianowice mam skrypt z ogłoszeniami wszystko działa okey ale chcę jeszcze dodać takie coś - mianowicie ilość ogłoszeń w danej kategorii i podkategorii

kategoria 1 [ 6 ogłoszeń ]
-podkategoria 1 [ 2 ogłoszenia ]
-podkategoria 2 [ 12 ogłoszenia ]
kategoria 2 [ 16 ogłoszeń ]
kategoria 3 [ 1 ogłoszeń ]
kategoria 4 [ 4 ogłoszeń ]
itd.

takie zapytanie zlicza mi wszystkie ogłoszenia dodane do bazy

  1. $ilosc_ogloszen=sql_select("
  2. SELECT ogl_aktywne FROM _o_ogloszenia
  3. WHERE ogl_aktywne LIKE '1'
  4. ");
  5.  
  6. $ilosc_kategorii=sql_select("
  7. SELECT kat_id FROM _o_kategorie
  8. ");
  9.  
  10. $ilosc_podkategorii=sql_select("
  11. SELECT podkat_id FROM _o_podkategorie
  12. ");


  1. echo'Wszystkich ogłoszeń w bazie: '.$ilosc_ogloszen[0][0].'';


Proszę o rady i pomoc

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
KR2615
post
Post #2





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


  1. SELECT COUNT(*) FROM _o_ogloszenia WHERE ogl_aktywne LIKE '1' GROUP BY id_kategorii


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





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.04.2014

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


coś chyba robię nie tak - wklejam to jak doradził KR2615

  1. $ilosc_kat=sql_select("SELECT COUNT(*) FROM _o_ogloszenia WHERE ogl_aktywne LIKE '1' GROUP BY id_kategorii");


wywołuję tym

  1. [ '.$ilosc_kat.' ]


ale lipa - próbowałem zmieniać GROUP BY id_kategorii na GROUP BY kat_id ale nadal wyskakuję błąd w zapytaniu! [ Array ]
Go to the top of the page
+Quote Post
kpt_lucek
post
Post #4





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

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


Cytat(1witek2 @ 22.06.2014, 12:03:17 ) *
coś chyba robię nie tak - wklejam to jak doradził KR2615

  1. $ilosc_kat=sql_select("SELECT COUNT(*) FROM _o_ogloszenia WHERE ogl_aktywne LIKE '1' GROUP BY id_kategorii");


wywołuję tym

  1. [ '.$ilosc_kat.' ]


ale lipa - próbowałem zmieniać GROUP BY id_kategorii na GROUP BY kat_id ale nadal wyskakuję błąd w zapytaniu! [ Array ]


Oczywiście że zwróci błąd...
  1. $ilosc_kat=sql_select(...);

Zakładam że sql_select() jest jakąś funkcją obiektu obsługującego Twoją bazę danych. Wywołując to w ten sposób
  1. [ '.$ilosc_kat.' ]

wstawiasz w klucz tablicy inną tablicę.

Wykonaj:
  1. print_r($ilosc_kat)

I zobacz wynik.



Pozdrawiam


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
1witek2
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.04.2014

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


kpt_lucek dzięki za wskazówkę ale jednak nie zadziałało zwróciło błąd

Array ( [0] => Array ( [0] => ) ) kategoria [ 1 ]

i tak jest przy każdej z 19 kategorii

wywołałem tym
  1. [ '.print_r($ilosc_kat).' ]


zapytanie mam takie
  1. $ilosc_kat=sql_select("SELECT COUNT(*) FROM _o_ogloszenia WHERE ogl_aktywne LIKE '1' GROUP BY kat_id");


Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) To nie zaden blad, a informacja o zwroconym rekordzie
2) ogl_aktywne LIKE '1'
Ke?
chyba powinno byc:
ogl_aktywne =1
3) I jesli to nie zadzialalo, to pokaz caly kod jaki ty tam teraz masz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
1witek2
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.04.2014

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


jednak zmiana nic nie zmieniła nadal to samo, poniżej cały kod z pliku

  1. <?php
  2.  
  3. $zapytanie=sql_select("SELECT * FROM _o_kategorie ORDER BY kat_nazwa asc");
  4.  
  5. $podkategorie=sql_select("SELECT * FROM _o_podkategorie");
  6.  
  7. $ilosc_kat=sql_select("SELECT COUNT(*) FROM _o_ogloszenia WHERE ogl_aktywne=1 GROUP BY kat_id");
  8.  
  9. $strona_wys=9.85*($zapytanie[0][0]+$podkategorie[0][0])+75+140+10+173-3;
  10.  
  11. if ($zapytanie[0][0] > 0){
  12.  
  13. for ($i=1;$i<=$zapytanie[0][0];$i++){
  14.  
  15. echo'&nbsp;&nbsp;&nbsp;<img src="images/category.png" class="st" />&nbsp;<a class="st2" href="'.tytul_ogl($zapytanie[$i][1]).','.$zapytanie[$i][0].',0.html"><strong>'.$zapytanie[$i][1].'</strong>[ '.print_r($ilosc_kat).' ]</a><br />';
  16.  
  17. $podkategorie=sql_select("SELECT * FROM _o_podkategorie WHERE kat_id LIKE '".$zapytanie[$i][0]."' ORDER BY podkat_nazwa asc");
  18.  
  19. for ($j=1;$j<=$podkategorie[0][0];$j++){
  20.  
  21. $str=''.$zapytanie[$i][1].'_'.$podkategorie[$j][2].'';
  22. echo'&nbsp;&nbsp;&nbsp;<a href="'.tytul_ogl($str).','.$zapytanie[$i][0].','.$podkategorie[$j][0].'.html">'.$podkategorie[$j][2].'</a><br />';
  23.  
  24. }
  25. }
  26. }
  27. ?>


dzięki za chęć pomocy
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No niestety tak to bywa, jak sie bezmyslnie wkleja kod, podany przez innego uzytkownika. Mowa tu o zapytaniu
$ilosc_kat=sql_select("SELECT COUNT(*) FROM _o_ogloszenia WHERE ogl_aktywne=1 GROUP BY kat_id");
ktore ma sie nijak do calosci...

No nic, późna juz pora, czas się klaść spać.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
1witek2
post
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 18.04.2014

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


no to rozumiem że jest to błąd zapytania do bazy, no to niestety muszę jeszcze trochę i to dużo poczytać aby wyłapać bład bo niestety z sql jestm noga

dzięki za odpowiedzi


nospor lub ktokolwiek - bardzo proszę o pomoc w tym temacie bo męczy mnie to już od dawna a wydaje mi się że wiecie jak napisać do tego zapytanie a zajmie to wam pewnie 10 sek.

Pozdrawiam

Ten post edytował 1witek2 14.07.2014, 20:29:02
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: 20.08.2025 - 21:06