- Home
- Przykłady i porady PHP79
- Inne pomoce, software6
- Banery
- Hyde Park Private Zone6
- Polityka cookies
- Udostępnianie tekstów
© 2001 - 2024 PhpCodex
Jak szukać dwóch lub więcej zestawionych słów w bazie
How to search two or three words in SQL
PrzykÅ‚ad PHP2013-12-08 stopieÅ„ trudnoÅ›ci: Å‚atwyProsty przykÅ‚ad wyszukiwania w bazach dwóch lub wiÄ™cej zestawionych wyrazów.
W czym rzecz, otóż można rozbić ciÄ…g z przykÅ‚adu poniżej na spacjach, ale wynik wyrzuci nam wszystkie wpisy zawierajÄ…ce sÅ‚owo "kolor" lub "czerwony" itd... Poniższy przykÅ‚ad pozwoli natomiast znaleźć wyÅ‚Ä…cznie rekord zawierajÄ…cy zestaw dwóch lub trzech sÅ‚ów wystÄ™pujÄ…cych w zapytaniu przy sobie co zawęża wyniki. Można go zastosować gdy liczba sÅ‚ów w zapytaniu jest wiÄ™ksza niż jedno lub w wyszukiwaniu zaawansowanym.
Nie zawsze to się sprawdzi, ale uznałem że jest warte pokazania jako przykład.
<?
$text = "test kolor czerwony string php";
echo"Przykład pierwszy dwa wyrazy:";
echo"<br />";
//wyciÄ…gamy wszystkie zestawienia dwóch wyrazów
preg_match_all('/(?=(\w+\s+\w+))\w+/', $text, $matches);
for($i=0; $i <= count($matches[1]); $i++){
echo $matches[1][$i]."<br />";
}
echo"Przykład drugi trzy wyrazy:";
echo"<br />";
//warto zwrócić uwagÄ™ na patern poszerzony o \s+\w+ co daÅ‚o nam trzy wyrazy
preg_match_all('/(?=(\w+\s+\w+\s+\w+))\w+/', $text, $matches);
for($i=0; $i <= count($matches[1]); $i++){
echo $matches[1][$i]."<br />";
$string = $matches[1][$i];
$plus_sql .= " OR pole LIKE '%$string%' ";
}
//wygenerowany poniżej kod dodajemy w zapytaniu sql
echo"$plus_sql";
?>
manual: preg_match_all()