![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 18.06.2015 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
mam takie pytanie a kompletnie nie mogę znaleźć tego w internecie i obawiam się że nie da się tego zrobić tak jak ja chce. robię serwis ogłoszeniowy który pozwala na dodawanie "dodatkowych opcji" do ogłoszeń z listy zdefinowanych przez administratora. Są one zapisywane do jednej komórki w bazie danych poprzez polecenie: json_encode($_POST['opcje_dodatkowe'], JSON_UNESCAPED_UNICODE) odczytuje je z bazy oczywiście korzystając z json_decode w bazie to mniej więcej wygląda tak: {"18":"elektronika","21":"coś tam","22":"wybór 3","23":"456","24":"2015"} gdzie pierwsza liczba to id opcji a druga to wartość wybrana lub wpisana przez użytkownika no i wszystko byłoby ok gdyby nie wyszukiwarka ogłoszeń... bo jeśli wyszukuje tekst to mogę sobie dać warunek: opcje_dodatkowe REGEXP '"21":"([^"]*)coś([^"]*)"' 21 - to id opcji coś - to co wpisał użytkownik w wyszukiwarce i znajduje poprawnie. ale tam są też pola liczbowe i tutaj fajnie by było żeby móc wpisać zakres liczb (np rocznik od 2005 do 2010) i tutaj nie wiem jakie zrobić zapytanie to mysql żeby wykorzystać zarówno REGEXP (lub like) ale także operator > (greater) żeby znaleźć wartość wyższą od wpisanej czyli z przykładowych trzech wpisów do bazy danych: {"24":"2015"} {"24":"2000"} {"24":"2008"} żeby mi wyciągnęło tylko ostatni (pomiędzy 2005 a 2010) jest to w ogóle możliwe? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:48 |