Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Rozbudowane porownywanie ciagu znakow
Ciosek
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 31.01.2010

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


Witam.


Chcialbym porownac ciagi znakow z jednej kolumny do zmiennej. Zeby nie było zbyt prosto ciagii maja pewne "fragmenty" ktore chcialbym porownac.

Przyklad:

  1. $zmienna1 = A 23
  2. $zmienna2 = A23A
  3. $zmienna3 = A 23B
  4.  
  5. $zmienna4 = AL 23
  6. $zmienna5 = A23A
  7. $zmienna6 = AL 23B
  8.  


Format zmiennych:
- na poczatku jest 1 lub 2 litery
- nastepnie czasem jest spacja czasem jej nie ma
- nastepnie 2 cyfry
- na koncu nie ma nic lub jest litera A B lub V

Zmienne znajduja sie w MySQL



Teraz chcialbym w jakis sposob zrobic zapytanie do bazy aby przypasowalo $zmienna1 do $zmienna2 i $zmienna3 gdyz:
- nie interesuja mnie spacje w zmiennych
- nie interesuje mnie literka na koncu (bez roznicy czy ona jest czy jej nie ma)
- interesuje mnie tylko w $zmienna1 ciag 'A23' i w 2 kolejnych tez tylko ta czesc

Probowalem na rozne sposoby jednak troche malo mam wiedzy odnosnie MySQL (w wiekszosci uzywam tylko SELECT, WHERE, ORDER itp), szukalem w google informacji i kombinowalem z REPLACE LIKE ale albo nie znam do konca mozliwosci tych funkcji albo nie do konca rozwijazuja moj problem.

Ostatnie proby wygladaly tak:
  1. $wynik = mysql_query("SELECT * FROM tabelka WHERE REPLACE (kolumna2, ' ', '') = REPLACE ('$zmienna', ' ', '') ")

problem jednak w tym jest taki ze zostaje ta literka na koncu - chcialem dodac funkcje IN do WHERE ale nie wyszlo mi.


Ma ktos moze pomysl jak sie za to zabrac?


PS: Troche moglem nakrecic wiec jesli cos byloby nie jasne to piszcie, postaram sie dokladniej opisac wszelkie niejasnosci.

Ten post edytował Ciosek 18.08.2011, 10:37:46
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: 4.10.2025 - 22:29