Ôîðóì ñâîèìè ðóêàìè. ×àñòü 7

О, так, так, так. ×àñòü 7

Eàêîé æåôîðóì àåç ïîіñêà? Це вже зроблено. Oóíeöіÿ searchForm() âîçâðàŹò html oîðìû äëÿ ïîіñêà ôîðóìó.

0 ) < $options = ' ' . "\n" ; while( $forum = mysql_fetch_row ( $res ) ) < $options = $options. ' '. "\n" ; > $html = file_get_contents ( './templates/searchForm.html' ); $action = $_SERVER [ 'PHP_SELF' ]. '?action=searchResult' ; $html = str_replace ('', $options, $html); $html = str_replace ('', $action, $html); >

Oàéë øàáëîíà ïîèñêà ïî oîðóìó:

Oóíêöіÿ searchResult() âîçâðààêò ðåçóëüòàò ïîіñêà ïîôîðóìó:

основне_слово ($wrd); > <3 $рядок = $рядок. "*" ;

// ь надо вияснить, где будем искать $where = $_POST [ 'where' ]; $whereArray = array( 'themes' , 'posts' , 'everywhere' ); if ( ! in_array ( $where , $whereArray ) ) $where = 'themes' ;

// запит' ] = $пошук ; $_SESSION [ 'search' ][ 'good' ] = $good ; $_SESSION [ 'search' ][ 'words' ] = $words ; // $_SESSION [ 'search' ][ 'words' ] = implode ('', $words); $_SESSION [ 'search' ][ 'string' ] = $string; $_SESSION [ 'search' ][ 'where' ] = $where ; $id_forum = (int) $_POST [ 'id_forum' ]; якщо ( $id_forum

è .

àëüøå - òðі âïîìîãòåëüíûå oóíêèè. Oóíêöіÿ searchResultThemes() âîçâðàùàåò ðåçóëüàò ïîèñêà òîëüêî â íàçâàíèÿõ òåì:

$cntPages ) $page = $cntPages ; // Начальная позиція (постраничная навигация) $start = ( $page - 1 ) * SEARCH_THEMES_PER_PAGE ;

// Строим постраничную навигацию, если это необходимо if ( $cntPages > 1 ) < // Функція возвращает html-меню для постраничной навігації $pages = pageIterator ( $page , $cntPages , $_SERVER [ 'PHP_SELF' ]. '?action=searchResult' ); >

$query = "ВИБРАТИ id_theme, name, id_forum FROM " . ТАБЛИЦІ_ТЕМИ . " WHERE MATCH (name) AGAINST ('" . $_SESSION [ 'search' ][ 'string' ]. "' IN BOOLEAN MODE)" . $форум. " ПОРЯДОК ЗА Збігом (назва) ПРОТИ ('". $_SESSION [ 'пошук' ][ 'рядок']. "' В ЛОГІЧНОМУ РЕЖИМІ) DESC ОБМЕЖЕННЯ " . $старт. ", ". SEARCH_THEMES_PER_PAGE ; $res = mysql_query ($query); $html = "

    \n" ; while ( $theme = mysql_fetch_array ( $res ) ) < $html = $html . '
  • '&idForum=' . $theme [ 'id_forum' ]. '&id_theme=' . $theme [ 'id_theme']. '&page=1">' . $theme [ 'name' ]. ' ' . "\n" ; > $html = $html . "
\n" ;

// Постранична навігація if ( isset( $pages ) ) $html = $html . $сторінки. "\n" ;

$cntPages ) $page = $cntPages ; // Начальная позиція (постраничная навигация) $start = ( $page - 1 ) * SEARCH_POSTS_PER_PAGE ;

// Строим постраничную навигацию, если это необходимо if ( $cntPages > 1 ) < // Функція возвращает html-меню для постраничной навігації $pages = pageIterator ( $page , $cntPages , $_SERVER [ 'PHP_SELF' ]. '?action=searchResult' ); >

$query = "ВИБРАТИ a.id_post, a.name, a.id_theme, b.id_forum, b.name FROM " . TABLE_POSTS . " ВНУТРІШНЄ З'ЄДНАННЯ " . ТАБЛИЦІ_ТЕМИ . " b ON a.id_theme=b.id_theme WHERE MATCH (a.name) AGAINST ('" . $_SESSION [ 'search' ][ 'string' ]. "' IN BOOLEAN MODE)" . $форум. " ПОРЯДОК ЗА Збігом (a.name) AGAINST ('" . $_SESSION [ 'search' ][ 'string' ]. "' IN BOOLEAN MODE) DESC LIMIT " . $start . ", " . SEARCH_POSTS_PER_PAGE ;

$res = mysql_query ($query); $html = '' ; while ( $post = mysql_fetch_row ( $res ) )

// Постранична навігація if ( isset( $pages ) ) $html = $html . $сторінки. "\n" ;

Ôóíêöіÿ searchResultEverywhere() âîçâðàùàåò ðåçóëüòàò ïîèñêà â íàçâàíèÿõ òåì і ñîîáùåíèÿõ (ïîñòàõ):

$cntPages ) $page = $cntPages ; // Начальная позиція (постраничная навигация) $start = ( $page - 1 ) * SEARCH_EVERYWHERE_PER_PAGE ;

// Строим постраничную навигацию, если это необходимо if ( $cntPages > 1 ) < // Функція возвращает html-меню для постраничной навігації $pages = pageIterator ( $page , $cntPages , $_SERVER [ 'PHP_SELF' ]. '?action=searchResult' ); >

$query = "ВИБРАТИ a.id_post, a.name, a.id_theme, b.id_forum, b.name FROM " . TABLE_POSTS . " ВНУТРІШНЄ З'ЄДНАННЯ " . ТАБЛИЦІ_ТЕМИ . " b ON a.id_theme=b.id_theme WHERE MATCH (a.name, b.name) AGAINST ('" . $_SESSION [ 'search' ][ 'string' ]. "' В ЛОГІЧНОМУ РЕЖИМІ )" . $форум. " ПОРЯДОК ЗА Збігом (a.name, b.name) AGAINST ('" . $_SESSION [ 'search' ][ 'string' ]. "' IN BOOLEAN MODE) DESC LIMIT " . $старт. ", ". SEARCH_EVERYWHERE_PER_PAGE ;

$res = mysql_query ($query); $html = '' ; while ( $post = mysql_fetch_row ( $res ) )

// Постранична навігація if ( isset( $pages ) ) $html = $html . $сторінки. "\n" ;