Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][MySQL] Porównywanie rekordów, a białe znaki (spacja)
Giluś
post
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
ohm
post
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 144
Dołączył: 22.12.2010

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


podpowiedź: trim dla php i mysql
Go to the top of the page
+Quote Post
Giluś
post
Post #3





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


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

Ten post edytował Giluś 12.02.2023, 09:41:39
Go to the top of the page
+Quote Post
ohm
post
Post #4





Grupa: Zarejestrowani
Postów: 623
Pomógł: 144
Dołączył: 22.12.2010

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


Faktycznie, nie doczytałem, to zostanie zabawa z REPLACE
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Giluś
post
Post #6





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Dziękuje bardzo,
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 21:46