witam głowię sie nad rozwiązaniem danego problemu a mianowicie
mam 4 wiersze w bazie
{"id:1","liczba:1"}
{"id:2","liczba:2,3"}
{"id:3","liczba:3,4"}
{"id:4","liczba:3"}
i potrzebuje zapytanie do bazy, które wyszuka id wiersza który w "liczba" zawiera liczbę 3
id 2 i 3 zawierają po dwa elemety bedace stringiem liczb oddzielonych przecinkiem w tym miejscu pojawia się problem
jak przeszukać tego stringa w poszukiwaniu liczby 3
na zmiennych nie ma żadnego problemu strpos() itp. jednak zeby zwrócić id wierszy które zawierają liczbę 3 mam już problem
select id from liczby where liczba = 3 zwróci tylko id 4 wiadomo jednak id 2 i 3 też zawierają ta liczbę
pomoże ktoś?
Zacznij od poprawnego typu danych, potem https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html
Tak napisałem to niby w json zeby estetycznie przedstawić tylko wiersze bazy jak nie znasz odpowiedzi na pytanie to nie wtrącaj prosze swoich 5 groszy
Tak. Doskonale wiem że to json który jest natywnie obsługiwany przez mysql. Jak Ci się nie chce nawet zajrzeć do linku albo go nie rozumiesz to może się hamuj z takimi odpowiedziami.
Masz rację przepraszam
https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-like
nie mogę znaleźć przykładów kombinuje i nic z tego nie wychodzi
jesteście w stanie zastosować to do podanego przykładu z liczbami?
$q = "SELECT * FROM `liczby` WHERE REGEXP_LIKE(`liczba`,'3')"; $q = "SELECT * FROM `liczby` WHERE JSON_EXTRACT(`liczba`,'3','$')"; $m = mysqli_query($con,$q); while($row = mysqli_fetch_assoc($m)){ $tab[] = $row; } http://www.php.net/echo json_encode($tab);
Wiesz, jest mała różnica czy twój kod to niby json bo wymyśliłeś sobie taką dziwaczną formę przedstawienia problemu, czy faktycznie json.
https://www.db-fiddle.com/f/xtZZs1QsDUUtkp9UneqWAe/0
nie mam danych w tabeli zapisanych jako json tylko rozkład tabeli przedstawiłem w json
dane w tabeli to normalny string
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)