Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 11

Сортировка по отдельным полям базы данных

03.02.2015, 01:38. Показов 990. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи. Нужна помощь в реализации функционала.

Вот страница с базой вакансий.


Все бы хорошо, вот только не хватает знаний как реализовать фильтр. Необходимо, чтобы при выборе какого либо параметра в поле селект осуществлялся вывод выбранного результата.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*---------------------- Вывод результата запроса ----------------------*/
    function select_list(){
        global $link;
        global $orderby;
        global $sort;
        
        $sql = "SELECT id, name, email, skype, mobile, vacancy, zarplata, company, recruiter, UNIX_TIMESTAMP(datetime) as dt, userfile FROM candidates ORDER BY $orderby $sort";
        if($res = mysqli_query($link, $sql)){
            if(mysqli_num_rows($res) > 0){
                $row = mysqli_fetch_all($res, MYSQLI_ASSOC);
                mysqli_close($link);
            }else{
                exit;
            }
        }else{
            echo "Запрос не удался" . mysqli_connect_error();
        }
        return $row;
    }
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
    foreach(select_list() as $val):
?>
        <tr align="center">
            <td width="100"><?= $val['name'] ?></td>
            <td width="150"><?= $val['email'] ?></td>
            <td width="100"><?= $val['skype'] ?></td>
            <td width="80"><?= $val['mobile'] ?></td>
            <td width="80"><?= $val['vacancy'] ?></td>
            <td width="40"><?= $val['zarplata'] ?></td>
            <td width="80"><?= $val['company'] ?></td>
            <td width="80"><?= $val['recruiter'] ?></td>
            <td width="50">
                <?php
                    if(!$val['userfile']){
                            echo 'Файла нет';
                    }else{
                        echo '<a href="' . $val['userfile'] . '">' . 'Файл' . '</a>';
                    }
                ?>          
            </td>
            <td width="80"><?= date('d-m-Y', $val['dt']) ?></td>
            <td width="50"><button title="Редактировать"><a href="edit.php?edit=<?= $val['id'] ?>" style="text-decoration: none;">Ред.</a></button></td>
            <td width="30"><button title="Удалить" data-del="<?= $val['id'] ?>" style="cursor: pointer;">x</button></td>
        </tr>
<?php
    endforeach;
?>
Кто может подскажите, пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.02.2015, 01:38
Ответы с готовыми решениями:

Сортировка в структуре по отдельным полям
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include...

Сравнение двух таблиц по отдельным полям
Сравнение 2 (двух) БД(таблиц) Access по отдельным полям Здравствуйте, передо мной легла такая задача, есть старая БД 2011 года,...

Привязка данных из базы к полям формы
По условию задания необходимо создать базу данных данными о пользователе: логин, пароль, имя фамилия, дата рождения, телефон, город, пол. ...

3
368 / 406 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
03.02.2015, 02:15
1)Делаешь запрос SELECT `name` FROM `table`
2)Формируешь массив $names
3)Массив $names обрабатываешь array_unique()
4)Циклом формируешь выпадающий список из этого массива.
...и так с каждым полем таблицы.
5)Далее проверяешь есть ли пост.
PHP
1
2
3
4
5
6
7
8
9
10
11
if($_POST['имя'])
  {
    if(!isset($text)) $text = "`names`= '$_POST['имя']'";
    else $text .= "or `names`= '$_POST['имя']'";
  }
if($_POST['email'])
  {
    if(!isset($text)) $text = "`email`= '$_POST['email']'";
    else $text .= "or `email`= '$_POST['email']'";
  }
// ну и так далее
Ну и при выборке из БД подставляешь $text в запрос
SQL
1
SELECT * FROM `table` WHERE $text
должно получится что то типа
SQL
1
SELECT * FROM `table` WHERE `names`= 'костя' OR `email`= 'buba@mail.ru'
0
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 11
04.02.2015, 16:21  [ТС]
Я только осваиваюсь с этим, поэтому заранее прошу прощения за возможные глупые вопросы.

PHP
1
2
3
4
5
6
7
8
9
10
11
if($_POST['имя'])
  {
    if(!isset($text)) $text = "`names`= '$_POST['имя']'";
    else $text .= "or `names`= '$_POST['имя']'";
  }
if($_POST['email'])
  {
    if(!isset($text)) $text = "`email`= '$_POST['email']'";
    else $text .= "or `email`= '$_POST['email']'";
  }
// ну и так далее
это надо использовать в функции вывода результата за проса select_list(), который я использовал?

Добавлено через 8 часов 24 минуты
Уже который час сижу, все-равно никак не разберусь, что и как надо делать(( Подскажите, плиз

Добавлено через 18 часов 23 минуты
Ребята выручайте. Своими силами не справляюсь.
0
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 11
09.02.2015, 02:57  [ТС]
Кто-нибудь подскажите. Мне, как начинающему, сложно даже элементарные вещи сделать. Поэтому в очередной раз прошу помощи в данном вопросе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2015, 02:57
Помогаю со студенческими работами здесь

Сортировка данных по 2 полям
Как отсортировать данные в таблице по двум полям?

Сортировка данных по 10 полям в разные стороны
SQL = 'exec sp_SkillSets_Select' RS.Open SQL, Conn, 1 начальник хочет процедуры и сортировку я вот думаю - как сделать сортировку...

Как программно осуществить привязку TextBox к полям таблицы базы данных?
Здравствуйте, у меня вопрос. Вот если с помощью функций Visual Studio осуществлять привязку, то в окне свойства нужно свойство из группы...

Сортировка постов по произвольным полям ACF. В разных рубриках по разным полям
Всем доброго дня! Не могу понять каким образом можно реализовать сортировку постов в разных рубриках по разным полям. Пример: ...

Сортировка базы данных
Здравствуйте, есть база данных, которая полностью рабочая, ода только проблема не понимаю, как к ней дописать сортировку, если у кого есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru