Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dowolny znak w zmiennej do zapytania WHERE
Forum PHP.pl > Forum > Przedszkole
denis95x
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
denis95x
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.
trueblue
% 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.
denis95x
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.