За последние 24 часа нас посетили 114542 программиста и 6448 роботов. Сейчас ищут 1454 программиста ...

Не работают Гипер ссылки

Тема в разделе "PHP для новичков", создана пользователем Makc_FOX, 16 сен 2018.

  1. Makc_FOX

    Makc_FOX Новичок

    С нами с:
    16 сен 2018
    Сообщения:
    2
    Симпатии:
    0
    Входит ошибка
    Parse error
    : syntax error, unexpected ')', expecting ';' in C:\xampp\htdocs\job\search.php on line 118


    сам код:

    PHP:
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    4. <head>
    5.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6.   <title>Поиск рискованной работы</title>
    7.   <link rel="stylesheet" type="text/css" href="style.css" />
    8. </head>
    9. <body>
    10. <?php
    11.   // создание запроса с использование пользовательской функции
    12.   function build_query ($user_search, $sort) {
    13.     $seaech_query = "SELECT * FROM riskyjobs";
    14.  
    15.     //Извелечение Критериев поиска
    16.     $clean_search = str_replace(',', '', '$user_search');
    17.     $search_words = explode('', $clean_search);
    18.     $final_search_words = array();
    19.     if (count($search_words) > 0) {
    20.       foreach ($search_words as $word) {
    21.               if (!empty($word)) {
    22.                 $final_search_words[] = $word;
    23.               }
    24.             }  
    25.     }
    26.     //Создание условного выражения WERE c использованием всех притериев поиска
    27.     $where_list = array();
    28.     if (count($final_search_words) > 0) {
    29.       foreach ($final_search_words as $word) {
    30.         $where_list[] = "description LIKE '%$word%'";
    31.       }
    32.     }
    33.     $where_clause = implode('OR', $where_list);
    34.  
    35.     //Добавления увловного выражения WHERE к поисковым запросам
    36.     if (!empty($where_clause)) {
    37.       $seaech_query = "WHERE  $where_clause";
    38.     }
    39.  
    40.     // Добавление к запросу вырадение определяющего порядок сортировки
    41.     switch ($sort) {
    42.  
    43.       //Сортировка по наименованию работы в входящем алфавитном порядке (от А до Я)
    44.       case 1:
    45.         $seaech_query = "ORDER BY title";
    46.         break;
    47.  
    48.       //Сортировка наименований работ в нисходящем алфавитном порядке (от Я до  А)
    49.       case 2:
    50.         $seaech_query = "ORDER BY title DESC";
    51.         break;
    52.  
    53.       // Сортировка по наименованию штата в восходящем алфавитном порядке (от А до Я)
    54.       case 3:
    55.         $seaech_query = "ORDER BY state";
    56.         break;
    57.  
    58.       // Сортировка по наименованию штата в нисходящем алфавитном порядке (от Я до  А)
    59.       case 4:
    60.         $seaech_query = "ORDER BY state DESC";
    61.         break;
    62.  
    63.       // Сортировка по дате размещения объявления в восходящем порядке (от более ранних до более поздних)
    64.       case 5:
    65.         $seaech_query = "ORDER BY date_job";
    66.         break;
    67.  
    68.       // Сортировка по дате размещения объявления в нисходящем порядке (от более подних до более ранних)
    69.       case 6:
    70.         $seaech_query = "ORDER BY date_job DESC";
    71.         break;
    72.       default:
    73.       // Данные по сортироке отсутствуют поэтому записи выводятся в то порядке в котором они расположены в таблице
    74.     }
    75.  
    76.   return $seaech_query;
    77. }
    78.   // Эта функция создает ссылки заголовков на основе заданной настройки сортировки
    79.   function generate_sort_links($user_search, $sort) {
    80.     $sort_links = '';
    81.  
    82.     switch ($sort) {
    83.     case 1:
    84.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=2">Название професии</a></td><td>Описание</td>';
    85.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=3">Штат</a></td>';
    86.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=5">Дата Размещения</a></td>';
    87.       break;
    88.     case 3:
    89.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=2">Название професии</a></td><td>Описание</td>';
    90.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=3">Штат</a></td>';
    91.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=5">Дата Размещения</a></td>';
    92.       break;
    93.     case 5:
    94.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=2">Название професии</a></td><td>Описание</td>';
    95.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=3">Штат</a></td>';
    96.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=5">Дата Размещения</a></td>';
    97.       break;
    98.     default:
    99.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=2">Название професии</a></td><td>Описание</td>';
    100.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=3">Штат</a></td>';
    101.       $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=5">Дата Размещения</a></td>';
    102.     }
    103.  
    104.     return $sort_links;
    105.   }
    106.   // Эта функция создает навигационные гипер ссылки на странице с результатами поиска,
    107.   // основана на значениях номера страницы и общего количества страниц
    108.   function general_page_links ($user_search, $sort, $cur_page, $num_pages) {
    109.     $page_links = '';
    110.     //Если это не первая страница - создается гипер ссылка предидущая страница (<<)
    111.     if ($cur_page > 1) {
    112.       $page_links .= '<a href="'. $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '$page=' . ($cur_page - 1) . '"><-</a>';
    113.     }
    114.     else {
    115.       $page_links .= '<-';
    116.     }
    117.     // Прохождение в цикле все страницы и создание гиперсылок, Указывающих конкретные страницы
    118. for ($i = 1, $i <= $num_pages; $i++) {
    119.       if ($cur_page == $i) {
    120.         $page_links .= ' ' . $i;
    121.       }
    122.       else {
    123.         $page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '&page=' . $i . '"> ' . $i . '</a>';
    124.       }
    125.     }
    126.     // Если эта не последняя страница то  создается гипер ссылка следующая страница (>>)
    127.     if ($cur_page < $num_pages) {
    128.       $page_links .= '<a href="' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=' . $sort . '$page=' . ($cur_page + 1) . '">-></a>';  
    129.     }
    130.     else {
    131.       $page_links .= '->';
    132.     }
    133.     return $page_links;
    134.   }
    135.  
    136.   // соединение с базой данных
    137.   require_once('conn.php');
    138.  
    139.   // создание переменных Ключевого слова для поиска
    140.   $sort = $_GET['sort'];
    141.   $user_search = mysqli_real_escape_string($dbc, trim($_GET['usersearch']));
    142.  
    143.     // Расчет данных, необходимых для разбиения текста результатов поиска на страницу
    144.   $cur_page = isset($_GET['page']) ? $_GET['page'] : 1;
    145.   $results_per_page = 5;  //количество результатов на странице
    146.   $skip = (($cur_page - 1) * $results_per_page);
    147.  
    148.   // Начните генерировать таблицу результатов
    149.   echo '<table border="0" cellpadding="2">';
    150.  
    151.   // Создание заголовков результатов поиска
    152.   echo '<tr class="heading">';
    153.   echo generate_sort_links($user_search, $sort);
    154.   echo '</tr>';
    155.  
    156.   $query = build_query($user_search, $sort);
    157.   $result = mysqli_query($dbc, $query);
    158.   $total = mysqli_num_rows($result);
    159.   $num_pages = ceil($total / $results_per_page);
    160.  
    161.  
    162.   // Получение результатов из MYsql и сортирока по колонкам
    163.   $query = $query " LIMIT $skip, $results_per_page";
    164.   $result = mysqli_query($dbc, $query);
    165.   while ($row = mysqli_fetch_array($result)) {
    166.     echo '<tr class="results">';
    167.     echo '<td valign="top" width="20%">' . $row['title'] . '</td>';
    168.     echo '<td valign="top" width="50%">' . substr($row['description'], 0, 100) . '</td>';
    169.     echo '<td valign="top" width="10%">' . $row['state'] . '</td>';
    170.     echo '<td valign="top" width="20%">' . $row['date_job'] . '</td>';
    171.     echo '</tr>';
    172.   }
    173.   echo '</table>';
    174.  
    175. if ($num_pages > 1) {
    176.     echo generate_page_links($user_search, $sort, $cur_page, $num_pages);
    177.   }
    178.  
    179.   mysqli_close($dbc);
    180. ?>
    181. <p><a href="index.php">НА главную</a></p>
    182. </body>
    183. </html>
     
    #1 Makc_FOX, 16 сен 2018
    Последнее редактирование модератором: 17 сен 2018
  2. Astar75

    Astar75 Новичок

    С нами с:
    15 сен 2018
    Сообщения:
    14
    Симпатии:
    4
    Когда вы научитесь код нормально оформлять???????
    for ($i = 1; $i <= $num_pages; $i++) {

    вместо запятой, должна быть точка с запятой.
    И еще в 163 строке исправь
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.012
    Симпатии:
    1.679
    Адрес:
    :сердА
    fixed
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    @Makc_FOX, и причём тут гиперссылки?
     
  5. Makc_FOX

    Makc_FOX Новичок

    С нами с:
    16 сен 2018
    Сообщения:
    2
    Симпатии:
    0
    там просто должны быть ссылки страниц, ну чтоб пользователь не весь запрос видел а 5 шт потом сыска на сл. страницу. если знаете как по другому сделать, то буду признателен если скинете пример
    --- Добавлено ---
    Спасибо огромное
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Как сделать пагинацию?