Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciągnięcie zakresu rekordów
adiseq
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 20.11.2011

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


Cześć,

Mam problem z zapytaniem do bazy. Chcę wyciągnąć z tabeli user rekordy których nazwa zaczyna się na literkę z zakresu A-E. Próbowałem na dwa sposoby: LIKE i REGEXP.
Zapytanie LIKE:
  1. SELECT * FROM users WHERE nazwa LIKE '[A-E]%'

Niestety, takie zapytanie nie wyświetla żadnego rekordu.
Przy zapytaniu REGEXP jest trochę lepiej, ale i tak nie wyświetla wszystkich rekordów tak jak powinno :/
Np. przy zapytaniu
  1. SELECT * FROM user WHERE nazwa REGEXP '^[A-Z]'

które powinno wyświetlić wszystkie rekordy, to wyświetla mi 7/9 i nie wiem dlaczego tamte 2 opuszcza. Natomiast zapytanie
  1. SELECT * FROM user WHERE nazwa REGEXP '^A'
powinno wyświetlić wszystkie rekordy gdzie nazwa zaczyna się na A, a wyświetla 3 rekordy na 4 w których nazwa zaczyna się na A.
Wiecie w czym może być problem? Może mieć to coś związanego z typem tabeli? Typ ustawiony mam na varchar(128).

Pozdrawiam,
Adrian
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

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


A sprawdzałeś co się dzieje po usunięciu nadmiarowego wywołania mysqli_fetch_assoc?
Go to the top of the page
+Quote Post
adiseq
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 20.11.2011

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


Cytat(trueblue @ 19.10.2016, 12:19:40 ) *
A sprawdzałeś co się dzieje po usunięciu nadmiarowego wywołania mysqli_fetch_assoc?

Działa! (IMG:style_emoticons/default/smile.gif)
Zostawiłem wywołanie w pętli while a to pierwsze usunąłem i działa jak powinno (IMG:style_emoticons/default/smile.gif)
Dzięki wielkie bo już od kilku dni nad tym walczę (IMG:style_emoticons/default/smile.gif)
Pozdrawiam,
Adrian

Nie chcę zakładać nowego tematu, ale mam jeszcze problem z wyświetleniem rekordu który zaczyna się na polski znak.
W tabeli kodowanie mam ustawione na utf8_polish_ci

W kodzie mam:
mysqli_query($polaczenie, "SET CHARSET utf8");
mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");

Gdzie może być błąd?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 07:19