Lestat621
Новичок
Пытаюсь доделать код.
Отдельно все идет норм, но когда объедению функции поиска, сортировки и постраничный вывод, выдает ошибку.
Сам код:
Отдельно все идет норм, но когда объедению функции поиска, сортировки и постраничный вывод, выдает ошибку.
Сам код:
PHP:
/* Функция гибкого поиска */
function build_query($user_search, $sort){
$search_query = "SELECT DATE_FORMAT(date,'%d.%m.%Y') AS date, tema, text, id FROM blog";
$where_list = array();
$clean_search = str_replace(',',' ', $user_search);
$search_words = explode(' ', $clean_search);
$final_search_words = array();
if(count($search_words) > 0){
foreach($search_words as $word){
if(!empty($word)){
$final_search_words[] = $word;
}
}
}
if(count($final_search_words)){
foreach($final_search_words as $word){
$where_list[] = " text LIKE '%$word%'";
}
}
$where_claus = implode(' OR ', $where_list);
if(!empty($where_claus))
{
$search_query .= " WHERE $where_claus";
}
switch ($sort) {
case 1:
$search_query .= " ORDER BY title";
break;
case 2:
$search_query .= " ORDER BY title DESC";
break;
default:
}
return $search_query;
}
/* Функция гибкого поиска */
/* Функция сортировки*/
function generate_sort_links($user_search, $sort) {
$sort_links = '';
switch ($sort) {
case 1:
$sort_links .= '<a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=1">
Сортировка 1</a>';
break;
case 2:
$sort_links .= '<a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=1">
Сортировка 2</a>';
break;
default:
$sort_links .= '<a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=1">
Сортировка 3</a>';
}
return $sort_links;
}
/* Функция сортировки*/
/* Навигационные гиперссылки*/
function generate_page_links($user_search, $sort, $cur_page, $num_pages) {
$page_links = '';
if ($cur_page > 1) {
$page_links .= '<a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . ($cur_page - 1) . '"><-</a> ';
}
else {
$page_links .= '<- ';
}
for ($i = 1; $i <= $num_pages; $i++) {
if ($cur_page == $i) {
$page_links .= ' ' . $i;
}
else {
$page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . $i . '"> ' . $i . '</a>';
}
}
if ($cur_page < $num_pages) {
$page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . ($cur_page + 1) . '">-></a>';
}
else {
$page_links .= ' ->';
}
return $page_links;
}
/* Навигационные гиперссылки*/
// Далее отоброжение поиска вместе со всеми функциями
$user_search = $_GET['usersearch'];
$user_search = $_GET['sort'];
$cur_page = isset($_GET['page']) ? $_GET['page'] : 1;
echo generate_sort_links($user_search, $sort);
require_once('connect.php');
$query = build_query($user_search, $sort);
$result = mysqli_query($query);
$total = mysqli_num_rows($result);
$num_pages = ceil($total / $results_per_page);
$query = $query . " LIMIT $skip, $results_per_page";
$result = mysqli_query($query);
while ($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td>' . $row['id'] . '</td>';
echo '<td>' . $row['tema'] . '</td>';
echo '<td>' . $row['text'] . '</td>';
echo '<td>' . $row['date'] . '</td>';
echo '<td>' . 'Удалить' . '</td>';
echo '<td>' . 'Редактировать' . '</td>';
echo '</tr>';
}
echo '</table>';
if ($num_pages > 1) {
echo generate_page_links($user_search, $sort, $cur_page, $num_pages);
}