Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka - zmiana "z zawiera słowo" na "tylko wyszukiwane słowo"
Forum PHP.pl > Forum > PHP
pijoku
Witam

Chciałbym zapytać jak zmienic w kodzie by w wynikach pokazywane były tylko dokładnie wskazane słowo a nie wszystkie wyniki zawierajace słowo
usunięcie % z %'.$name.'% nic nie dało

elseif ($_GET['action'] == 'tag') {
$name = validator($name);
$select = select_count('sites', '(keywords like "%'.$name.'%") && active = 1', '');

elseif ($_GET['action'] == 'tag') {
if (is_numeric($_GET['page'])) {
$add_order = add_order($sort, 1);
$page = (validator($_GET['page'])-1)*$GLOBALS['cfg']['sub_site'];
$name = validator($name, 0, 100);
$select_sites = select('sites', 'id, title, keywords, total_value, total_votes'.$forms['add_sql'], '(keywords like "%'.$name.'%") && active = 1', $add_order, '');
if ($select_sites != '') {
$select = array_slice($select_sites, $page, $GLOBALS['cfg']['sub_site']);
$select[0]['count'] = count($select_sites);
nospor
No to skoro kolumna ma się dokładnie równać szukanej frazie to nie żadne LIKE a poprostu =
nie: keywords like "%'.$name.'%"
a:keywords ="'.$name.'"

ANalogicznie reszta
pijoku
coś nie działa po zmianie "like na =" pokazuje ze brak jest wyników chociaz klikam na link do "keywordsa" który fizycznie jest
jeśli zmieniam tylko pierwszy like to nic sie nie zmienia ;/
nospor
To może napisz co dokładnie zawiera pole w którym szukasz, oraz podaj dokładnie frazę jakiej szukasz
wujek2009
Tak luźnie się spytam zmieniłeś na:

keywords = 'szukana fraza'
czy może
keywords = '%szukana fraza%'

ponieważ 'szukana fraza' != '%szukana fraza%'
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.