Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][mysql] SELECT oraz warunki
pshemoNL
post 25.11.2015, 16:21:33
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 10.10.2015

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


Witam,

Spędziłem kilkanaście godzin na rozwiązanie problemu i niestety muszę się poradzić w poniższej kwestii ponieważ żadne ze znanych mi metod oraz tych znalezionych nie działają.

Otóż mam reklamę, która powinna wyświetlać się tylko użytkownikowi z danego regionu. Czyli reklama posiada atrybut lokalizacji 7 oraz powinna wyświetlać się tylko użytkownikowi o lokalizacji 7. Jest jeszcze kilka innych warunków, które działają a wspomniany kod do modyfikacji wygląda obecnie tak:

  1. $qq = mysqli_query($con,"SELECT owner,id,description FROM normal_ads WHERE (queued <> 0 AND status = 1) AND (`id` NOT IN (SELECT ad_id FROM viewed_ads WHERE user_id = '{$_SESSION['user_id']}' AND type = 1)) ORDER BY id ASC LIMIT $offset, $ads");


W powyższym kodzie powinno znaleźć się jeszcze coś na wzór
  1. AND localize = '{$_SESSION['localize']}'
- choć oczywiście ten wzór jest błędny i nie działa.
Go to the top of the page
+Quote Post
nospor
post 25.11.2015, 16:26:11
Post #2





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




nie bardzo rozumiem problem. Wiesz jaki masz dodac warunek wiec go dodaj.


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

"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
pshemoNL
post 25.11.2015, 16:27:57
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 10.10.2015

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


Tak jak pisałem we wstępie próbowałem wszelkich możliwych sposobów i niestety albo wyświetlają się i tak wszystkie reklamy (a więc warunek nie działa) albo po prostu wyrzuca błąd.
Go to the top of the page
+Quote Post
nospor
post 25.11.2015, 16:29:12
Post #4





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




$qq = mysqli_query($con,"SELECT owner,id,description FROM normal_ads WHERE (queued <> 0 AND status = 1) AND (`id` NOT IN (SELECT ad_id FROM viewed_ads WHERE user_id = '{$_SESSION['user_id']}' AND type = 1)) AND localize = '{$_SESSION['localize']}' ORDER BY id ASC LIMIT $offset, $ads");


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

"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
pshemoNL
post 25.11.2015, 16:44:34
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 10.10.2015

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


Niestety taki kod powoduje, że nie wyświetla się żadna reklama. Zapomniałem sprecyzować, że chodzi o localize właśnie z normal_ads.
Kolejna moja próba wygląda tak i również bez sukcesu, jednak powinno to być coś ten deseń:

  1. $usrlcl = mysqli_query($con,"SELECT localize FROM users WHERE user_id = '{$_SESSION['user_id']}'");
  2. $qq = mysqli_query($con,"SELECT title,id,description,localize FROM normal_ads WHERE (queued <> 0 AND status = 1 AND localize = '$usrlcl') AND (`id` NOT IN (SELECT ad_id FROM viewed_ads WHERE user_id = '{$_SESSION['user_id']}' AND type = 1)) ORDER BY id ASC LIMIT $offset, $ads");
Go to the top of the page
+Quote Post
nospor
post 25.11.2015, 16:53:06
Post #6





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




A od kiedy
$usrlcl = mysqli_query
zwraca wartosci jaka cie interesuje?? Toz to zwraca wynik zapytania a nie wartosc...
1) Manual
2) Patrz co zwracaja funkcje ktorych uzywasz


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

"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
pshemoNL
post 25.11.2015, 17:01:52
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 10.10.2015

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


Dziękuję! zakochany.gif

Zostawiam poprawny kod, jeśli moi potomkowie będą mieli podobny problem w przyszłości:

  1. $usrlcl = mysqli_query($con,"SELECT localize FROM users WHERE user_id = '{$_SESSION['user_id']}'");
  2. $details = mysqli_fetch_array($usrlcl);
  3. $qq = mysqli_query($con,"SELECT title,id,description,localize FROM normal_ads WHERE (queued <> 0 AND status = 1 AND localize = '{$details['localize']}') AND (`id` NOT IN (SELECT ad_id FROM viewed_ads WHERE user_id = '{$_SESSION['user_id']}' AND type = 1)) ORDER BY id ASC LIMIT $offset, $ads");
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: 16.06.2025 - 19:21