Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Dowolny znak w zmiennej do zapytania WHERE, Jak to rozwiązać ?
denis95x
post 21.02.2015, 11:50:02
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Witam serdecznie,

Od kilku godzin męczę się z głupim (pewnie dla niektórych banalnym) problem.

Tabela w bazie danych wygląda następująco:



Robię selekcję artykułów na stronie w zależności od wybranej kategorii.

Moje pytanie to: jak zastąpić cyfrę 1 dowolną inną.
Aby zapytanie WHERE wyglądało mniej więcej tak: k1_p* (w miejsce * dowolny znak)
Czy jest taka możliwość ?
Próbowałem to rozwiązać z % w zapytaniu, ale też nie działa.

  1. $cat_id = $_GET[cat];
  2. $kategoria = 'k'.$cat_id.'_p1';
  3.  
  4. $querys = "SELECT * FROM kategorie WHERE $kategoria != '0' ORDER BY id DESC LIMIT $limit, $onpage";


Proszę o pomoc,
z góry serdeczne Dzięki smile.gif

Ten post edytował denis95x 21.02.2015, 11:53:03
Go to the top of the page
+Quote Post
trueblue
post 21.02.2015, 11:55:40
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1827
Dołączył: 11.03.2014

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


http://dev.mysql.com/doc/refman/5.1/en/pattern-matching.html


--------------------
Go to the top of the page
+Quote Post
denis95x
post 21.02.2015, 12:01:51
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Tyle to ja wiem, że z LIKE, ale jak to użyć w tym przypadku ?

Normalnie wyglądałoby tak:
  1. $querys = "SELECT * FROM kategorie WHERE k1_p1 != '0' ORDER BY id DESC LIMIT $limit, $onpage";

i po WHERE k1_p1 wstawić LIKE

a ja potrzebuje zamiast k1_p1 wstawić jakby k1_p% (% zastępuje dowolny znak) - tak próbowałem, ale dalej nic

ale ja potrzebuje to użyć zanim wybiorę kolumne.

Ten post edytował denis95x 21.02.2015, 12:03:26
Go to the top of the page
+Quote Post
trueblue
post 21.02.2015, 12:06:17
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1827
Dołączył: 11.03.2014

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


% zastępuje 0-n znaków, ale teraz widzę, co chcesz zrobić.

Musisz wygenerować gotowe zapytania po stronie php.

P.S. Tabela źle zaprojektowana. Przebuduj.

Ten post edytował trueblue 21.02.2015, 12:06:52


--------------------
Go to the top of the page
+Quote Post
denis95x
post 21.02.2015, 12:14:11
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 21.02.2015
Skąd: Bielsko-Biała

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


Dobra rozwiążę to inaczej.
Muszę pododawać k1_p0 i jeśli ma wyświetlać w głównej kategorii (nie licząc podkategorii) to będzie 0, a jeśli daną podkategorię to sobie pobiorę
  1. $cat_id = $_GET[cat];
  2. $pcat_id = $_GET[pcat];
  3.  
  4. $kategoria = 'k'.$cat_id.'_p'.$pcat_id.'';


Tak powinno działać, nie ?


// EDIT: DO ZAMKNIĘCIA

Ten post edytował denis95x 21.02.2015, 12:39:18
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: 6.07.2025 - 19:33