Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Wyszukiwanie w łańcuchu wartości z bazy
Forum PHP.pl > Forum > Bazy danych
woodzu
Heja

Albo sie ladnie zakrecilem w tym co robie, albo juz sam niewiem...

mam takie oto zapytanie:


ZWROC tytul_filmu KTOREGO '$nazwa' ZAWIERA *tytul_filmu*

np. nazwa: SHREK - THE MOVIE zawiera tytul_filmu: SHREK


  1. "SELECT tytul_filmu FROM filmy WHERE '$nazwa' LIKE *tytul_filmu* ");

zapytania w tym stylu nie dzialaja
niewiem jak by to ugryzc

co moglibyscie poradzic

edit: Baza MySQL/SQLite
Kicok
  1. LIKE CONCAT( '%', tytul_filmu, '%' )
woodzu
Dzieki , ale SQLite na tym odpada

p.s. mysle o czyms bardziej uniwersalnym ew. w podzapytaniu


edit:
Niestety nie udalo mi sie znalezc rozwiazania dla SQLite 2.x (MySQL powinno podolac, nie sprawdzalem)
Pozostaje drastyczne uzycie petli foreach mad.gif


  1. <?php
  2. foreach($query as $row) {
  3. if( strstr( $nazwa, $row['tytul_filmu'] ))
  4. return true;
  5.  }
  6. ?>


Pozdrawiam, forumowiczow
Sedziwoj
Czytaj dokumentację, choć przyznam kiepska.
Cytat
The || operator is "concatenate" - it joins together the two strings of its operands.


  1. LIKE '%' || tytul_filmu || '%'

To powinno pójść na SQLite, jak na wielu innych bazach danych, bo to jest zwyczajowy operator łączenia.
woodzu
To naprawde dziala exclamation.gif!

Dzieki i pozdrawiam smile.gif
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.