Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][MySQL] Porównywanie rekordów, a białe znaki (spacja)
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć,

Chcę sobie sprawdzić w bazie danych MySQL, czy występuje dany rekord (w moim przypadku tablica rejestracyjna), ale mam problem z białymi znakami, posiadam taki kod:

  1. $_POST['tablica'] = 'XXX 1234';
  2. $spr_tablica = mysql_query("SELECT * FROM `samochod` WHERE `rejestracja` = `'".$_POST['tablica']."'` ");
  3. if (mysql_num_rows($spr_tablica) == FALSE) {
  4. echo 'Nie ma';
  5. }
  6. else {
  7. echo 'Jest';
  8. }


I wszystko jest super, jeśli w formularzu wpisze identycznie taki sam ciąg znaków "XXX 1234", gdyż tak mam zapisane w bazie danych, ale co zrobić, jeśli w formularzu wpiszę "XXX1234", bądź okaże się, że w bazie jest zapisane "XXX1234", a ja wpiszę "XXX 1234", ew. jeszcze inny przypadek "X X X1 2 34".

Nie jestem w stanie poprawić wszystkich danych w bazie na takich z jedną formą, i później w PHP ew. usuwać białe znaki z formularza, wiec szukam uniwersalnej metody.

Pozdrawiam, i dziękuje za pomoc.
ohm
podpowiedź: trim dla php i mysql
Giluś
Trim, utnie jedynie "spacje" przed bądź za string, a nie wewnątrz.
  1. $result = trim(' ZZZ 1233 ', ' ');


Result:
ZZZ 1233


Co nie zmienia faktu, że chciałbym to wykonać w najlepiej jednym zapytaniu do bazy danych
ohm
Faktycznie, nie doczytałem, to zostanie zabawa z REPLACE
nospor
Cytat
Co nie zmienia faktu, że chciałbym to wykonać w najlepiej jednym zapytaniu do bazy danych

No i jaki problem? Robisz str_replace w php na ciagu ktory szukasz, a potem w zapytaniu porownoujesz wynik REPLACE na kolumnie w bazie z tym ciagiem. Wszystko w jednym zapytaniu

mysql_query("SELECT * FROM `samochod` WHERE REPLACE(`rejestracja`, blablabla) = `'".str_replace($_POST['tablica', blabla)]."'` ");

za blabla wstaw odpiwiednia skladnie danych funkcji rzecz jasna
Giluś
Dziękuje bardzo,
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.