ďťż

[MySQL] Wyrażenie regularne? w zapytaniu

       

Podstrony


telcocafe

Witam
Mam tabelę zdjęcia, w której przechowuję nazwy plików graficznych. Plikom nadaję automatyczne nazwy wg wzorca:
foto_1_1.jpg
foto_1_21.jpg
foto_33_12.jpg

chcę wysłać zapytanie wybierające wszystkie fotki wskazane przez parametr id, który jest odpowiednikiem pierwszej cyfry. Dla przykładu jeśli id=2 to wynik zapytania powinien zwrócić wszystkie nazwy zaczynające się od foto_2_(tu dowolny ciąg cyfr).

Czego próbowałem:

SELECT * FROM zdjecia WHERE nazwa LIKE 'foto_".$id."_%'

SELECT * FROM zdjecia WHERE nazwa REGEXP '(foto_)+[(".$id."){1}]+(_[0-9])'

i teraz jeśli np id=1 to w wyniku zwracane są nie tylko nazwy foto_1_% lecz także np foto_10_% i foto_11_% (dla pierwszego zapytania) oraz foto_11_% dla tego z wyrażeniem regularnym.

Przykładowy wynik zapytania:
SELECT * FROM zdjecia WHERE nazwa LIKE 'foto_1_%' foto_1_1.jpg foto_1_2.jpg foto_1_3.jpg foto_10_1.jpg foto_11_4.jpg foto_17_8.jpg

//// EDIT

pomogło to: SELECT * FROM zdjecia WHERE nazwa LIKE 'foto_".$id."\_%'

Temat zamknięty
Użytkownik mikele edytował ten post 24 maj 2008, 17:19
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.