Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Problem z warunkami, $_get i bazą MySQL
tokone
post
Post #1





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

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


Witam serdecznie
Jestem początkujący więc proszę o wyrozumiałość winksmiley.jpg

Mam problem z zbudowaniem odpowiedniego warunku, całość wygląda tak:

  1. $rodzaj=$_GET['rodzaj'];
  2. if ($_GET['rodzaj']){
  3. $query = "select * from oglosz where rodzaj='$rodzaj' AND verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";}
  4. else {
  5. if ($_GET['miasto']){
  6. $miasto=$_GET['miasto'];
  7. $query = "select * from oglosz where miasto='$miasto' AND verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  8. }
  9. $query = "select * from oglosz where verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  10. }


zmienne rodzaj i miasto są wysyłane z tego samego pliku, i w tym samym pliku są odbierane, chciałbym żeby warunek sam wybierał rodzaj zapytania w zależności od wysłanych danych tzn, jeśli zostało wysłana zmienna rodzaj, to inne zapytanie, jeśli miasto to inne a jeśli wcale to wykonuje zapytanie standardowe, jak zarazie nie zwraca żadnych danych.

Proszę o pomoc.

Ten post edytował tokone 31.03.2010, 15:24:32
Go to the top of the page
+Quote Post
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Zapoznaj się proszę z tym tematem, bo nie napisałeś, co chcesz osiągnąć, czy są jakieś błędy - nic.

Temat: Jak poprawnie zada pytanie


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
lessi
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

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


Po co dajesz warunek:
  1. if ($_GET['miasto']){
  2. $miasto=$_GET['miasto'];
  3. $query = "select * from oglosz where miasto='$miasto' AND verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  4. }
  5. $query = "select * from oglosz where verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";

I tak później nadajesz zmiennej inną wartość. Więc powinno być:
  1. if ($_GET['miasto']){
  2. $miasto=$_GET['miasto'];
  3. $query = "select * from oglosz where miasto='$miasto' AND verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  4. }
  5. else{
  6. $query = "select * from oglosz where verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  7. }

Chyba że od razu chcesz pobrać dane z bazy
Go to the top of the page
+Quote Post
tokone
post
Post #4





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

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


Pomocy, nikt nie zna odpowiedzi? sad.gif
Go to the top of the page
+Quote Post
Dziadzia
post
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 4
Dołączył: 9.07.2009

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


najpierw proponuję abyś po kodzie
  1. $rodzaj=$_GET['rodzaj'];


wstawił:

  1. echo $rodzaj;

aby sprawdzić czy w ogóle coś się zapisuje w zmiennej $rodzaj.

jak dla mnie skrypt ten jest trochę źle zbudowany... ja bym napisał go tak:

  1.  
  2.  
  3. $rodzaj=$_GET['rodzaj'];
  4. $miasto=$_GET['miasto'];
  5.  
  6. echo $rodzaj;
  7. echo $miasto;
  8.  
  9. if (($rodzaj==0) AND ($miasto==0)) {
  10.  
  11. $query = "select * from oglosz where verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  12.  
  13. }
  14.  
  15. elseif ($rodzaj!=0){
  16.  
  17. $query = "select * from oglosz where rodzaj='$rodzaj' AND verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  18. }
  19.  
  20. elseif ($miasto!=0){
  21.  
  22. $query = "select * from oglosz where miasto='$miasto' AND verified='T' and curdate() <= dataw order by $sort $az LIMIT 8";
  23.  
  24. }
  25.  
  26.  
  27.  
Go to the top of the page
+Quote Post
tokone
post
Post #6





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

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


$_GET wysyła prawidłowo zmienne $rodzaj i $miasto, lecz teraz w ogóle nie działa, za każdym razem pobiera wszystko.
Go to the top of the page
+Quote Post
Dziadzia
post
Post #7





Grupa: Zarejestrowani
Postów: 79
Pomógł: 4
Dołączył: 9.07.2009

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


$get nie wysyła tylko pobiera dane i zapisuje do zmiennych smile.gif pokaż kod całego pliku w którym masz ten skrypt
Go to the top of the page
+Quote Post
tokone
post
Post #8





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

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


Trochę jest długi, i namieszany, ale proszę o wyrozumiałość, jestem początkujący smile.gif

http://pastebin.com/x89kiS5C

Pozdrawiam, i serdecznie dziękuje za pomoc.

Czy jest ktoś w stanie pomoc?
nie mogę sobie z tym poradzić.

Ten post edytował tokone 1.04.2010, 20:43:36
Go to the top of the page
+Quote Post
pedro84
post
Post #9





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Tutaj zobacz jak to najlepiej rozwiązać.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
tokone
post
Post #10





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

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


Dzięki wielkie Pedro84, o to chodziło smile.gif
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 - 19:42