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

Фильтрации данных по полю

17.11.2019, 13:37. Показов 697. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PHP
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
29
<div>
                <h3 align="center">
                    <p>ДАННЫЕ ПОЛЬЗОВАТЕЛЯ</p>
                </h3>
                <table border='1'>
                    <tr>
                        <td>id</td>
                        <td>Название</td>
                        <td>Содержание</td>
                        <td>Ссылка</td>
                        <td>Тип</td>
                    </tr>
                    <?php
    $sql = mysqli_query($link, "SELECT `id`, `title`, `content`, `link`, `type` FROM articles");
    while ($result = mysqli_fetch_array($sql)) {
         
                     
         
      echo '<tr>' .
       "<td>{$result['id']}</td>".
           "<td>{$result['title']}</td>" .
           "<td>{$result['content']}</td>" .
       "<td>{$result['link']}</td>" .
           "<td>{$result['type']}</td>" .
           '</tr>';
    }
                            
  ?>
                </table>

Написал скрипт, который выводит на страницу все данные из таблицы articles
Необходимо сделать так, чтобы при нажатии на столбец id данные фильтровались не от 1 до n, а от n до 1. Искал в Интернете рабочие скрипты, но каждый из них после нажатия не фильтровал данные. Спасибо за помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2019, 13:37
Ответы с готовыми решениями:

Создание фильтрации данных из массивов
Я новичок в PHP, мало навыков. Учу язык на простеньких примерах кода. Вот у меня такой вопрос, у меня есть форма, в которую я ввожу данные,...

Создание фильтрации по полю со списком
Создание фильтрации по полю со списком -_- забыла как делать. на form1 по полю фио должна фильтроваться инфа на форме. чето у меня не...

Ошибка в фильтрации данных
Сначала выдает ошибку в строке Form1-&gt;AT5-&gt;IndexFieldNames=&quot;&quot;;, я взял название поля в и та же ошибка появилась в последней строке а...

8
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
17.11.2019, 13:44
Цитата Сообщение от NaxUK Посмотреть сообщение
фильтровались не от 1 до n, а от n до 1
не фильтровать а сортировать. Для этого есть: ORDER BY
MySQL
1
SELECT `id`, `title`, `content`, `link`, `type` FROM `articles` ORDER BY `id` ASC
MySQL
1
SELECT `id`, `title`, `content`, `link`, `type` FROM `articles` ORDER BY `id` DESC
Добавлено через 2 минуты
PHP
1
$sql = mysqli_query($link, "SELECT `id`, `title`, `content`, `link`, `type` FROM `articles` ORDER BY $название_поля $направление");
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
17.11.2019, 14:04  [ТС]
Спасибо за ответ, но сортировка по order by я видел и пробовал реализовывать, но проблема всё та же, он не сортирует данные, а возвращает такое же значение, что было до сортировки
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
17.11.2019, 14:07
Цитата Сообщение от NaxUK Посмотреть сообщение
он не сортирует данные, а возвращает такое же значение, что было до сортировки
такого не может быть. Покажите код с сортировкой, данные которые хранятся в таблице и результат выборки
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
17.11.2019, 19:12  [ТС]
PHP
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?PHP
 error_reporting(E_ALL);
mysql_connect("localhost", "root", "");
$sql = mysql_query("SET CHARACTER SET utf-8");
mysql_select_db("main");
$sql = "SELECT `id`, `title`, `content` FROM `articles` group by `id`";
$result_select = mysql_query($sql);
//создаем массивы для хранения городов, гостей, спален
$id = array();
$title = array();
$content = array();
// достаем из таблицы столбцы city, sleeper, bedroom и распределяем их по массивам
while($res =  mysql_fetch_object($result_select)){
    $id[] = $res->id;
    $title[] = $res->title;
    $content[] = $res->content;
}
// далее код отвечающий за сортировку в таблице вывода
// Значения, полученные из формы для сортировки
$sort = isset($_GET['sort']) ? $_GET['sort'] : 'asc';
$key = isset($_GET['key']) ? $_GET['key'] : 'id';
 
// Разрешённые значения
$key_array = array('link', 'id', 'type', 'title', 'content', 'category_id');
$sort_array = array('asc','desc');
     
// Часть SQL-запроса - фильтр
$orderby = " ORDER BY $key $sort";
 
// Меняем сортировку для правильного вывода в таблице
$sort = $sort == 'asc' ? 'desc' : 'asc';
 
// далее код отвечающий за выбор из базы
if(!empty($_POST['content']) && !empty($_POST['id']) && !empty($_POST['title']))
{
    $where = "WHERE `content` = '".$_POST['content']."' and `id`='".$_POST['id']."' and `title`='".$_POST['title']."'";
    $values = null;
}
else
{
    $where = null;
    $values = null;
}
 
$query = "SELECT * FROM `articles` $where $orderby";
$result = mysql_query($query) or die(mysql_error());
 
?>
    <!--далее вывод формы с селектами-->
<h1>Данные пользователя для фильтрации</h1>
 
<h1 style="background-color:grey; padding:40px">
     <form method="post">
         <div style="float:left;margin-right:20px">
            <select style= "width:200px;height:45px" name="city">
             <option>id</option>
                <?PHP foreach($id as $c){
                if(isset($_POST['id']) && $_POST['id'] == $c){
                ?>
                <option value="<?PHP echo $c;?>" selected="selected"><?PHP echo $c;?></option>
                <?PHP }else{?>
                <option value="<?PHP echo $c;?>"><?PHP echo $c;?></option>
                <?PHP }} ?>
            </select>
         </div>
         <div style="float:left;margin-right:20px">
             <select style= "width:200px;height:45px" name="sleeper">
             <option>title</option>
                <?PHP foreach($title as $s){
                if(isset($_POST['title']) && $_POST['title'] == $s){
                ?>
                <option value="<?PHP echo $s;?>" selected="selected"><?PHP echo $s;?></option>
                <?PHP }else{ ?>
                <option value="<?PHP echo $s;?>"><?PHP echo $s;?></option>
                <?PHP }}?>
            </select>
         </div>
         <div style="float:left;margin-right:20px">
             <select style= "width:200px;height:45px" name="bedroom">
             <option>content</option>
 
                <?PHP foreach( $content as $b){
                if(isset($_POST['content']) && $_POST['content'] == $b){
                ?>
                <option value="<?PHP echo $b;?>" selected="selected"><?PHP echo $b;?></option>
                <?PHP }else{?>
                <option value="<?PHP echo $b;?>"><?PHP echo $b;?></option>
                <?PHP }} ?>
             </select>
             <input type="submit" name="sub" style= "background-color:black;width:200px;height:45px" value = "Выбрать">          
         </div>
         
     </form>
        </h1>
    
 
<div style="clear:both;"></div>
<div style="margin-top:40px;">
    <!-- далее проверяем, если есть в выборке данные выводим таблицу иначе сообщение "По вашему запросу, ничего не найдено."-->
    <?PHP if(mysql_num_rows($result)> 0){?>
    <table align= "center" border = 1>
        <tr>
        <th width='50'><a href="?key=link&sort=<?=$sort . $values?>">Ссылка</a></th>
        <th width='50'><a href="?key=id&sort=<?=$sort . $values?>">ID</a></th>
        <th width='50'><a href="?key=type&sort=<?=$sort . $values?>">Тип</a></th>
        <th width='50'><a href="?key=title&sort=<?=$sort . $values?>">Название</a></th>
        <th width='50'><a href="?key=content&sort=<?=$sort . $values?>">Содержимое</a></th>
        <th width='50'><a href="?key=category_id&sort=<?=$sort . $values?>">id_категории</a></th>
        </tr>
        <? while($row = mysql_fetch_assoc($result)): ?>
            <tr>
                <td><?=$row['link']?></td>
                <td><?=$row['id']?></td>
                <td><?=$row['type']?></td>
                <td><?=$row['title']?></td>
                <td><?=$row['content']?></td>
                <td><?=$row['category_id']?></td>
  
            </tr>
        <? endwhile; ?>
    </table>
    <?PHP }else{?>
    <p>По вашему запросу, ничего не найдено.</p>
    <?PHP }?>
</div>

Он данные не возвращает, но при выборе определённых данных фильтрации нет
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
17.11.2019, 19:26
del

Добавлено через 7 минут
сортировка у тебя идет по $_GET а если нет $_POST то в выборку ставишь null, естественно ничего выбирать не будет. Ты сначала выполни такой запрос:
PHP
1
$query = "SELECT * FROM `articles` ORDER BY `id` DESC";
чтобы убедиться что всё работает. А потом смотри где у тебя сборка выборки ломается.
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
17.11.2019, 19:26  [ТС]
Сейчас попробую
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
17.11.2019, 19:28
И здесь:
PHP
1
2
3
4
5
// Часть SQL-запроса - фильтр
$orderby = " ORDER BY $key $sort";
 
// Меняем сортировку для правильного вывода в таблице
$sort = $sort == 'asc' ? 'desc' : 'asc';
очерёдность присвоений значений не смущает?
0
8 / 5 / 3
Регистрация: 18.03.2019
Сообщений: 122
17.11.2019, 19:45  [ТС]
В смысле? Так сначала эти переменные переприсваиваются и только потом в переменной $query выполняются в запросе, разве нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2019, 19:45
Помогаю со студенческими работами здесь

Совет по фильтрации данных
Здравствуйте, как новичок в c# столкнулся с трудностями с фильтрации данных в таблице. Имеется большая БД (sql server), которую я сортирую...

проблемы фильтрации данных
всем доброй ночи! подскажите пожалуйста какможно решить следующую проблему. я использую компонент TADO TABLE, в часности его свойство...

Метод фильтрации данных
Привет всем Надо по набору правил фильтровать данные. Данные бинарныйе 32 розряда. Данных очень много,потому очень важна не только...

Алгоритм фильтрации данных
Здравствуйте. Меня интересует вопрос фильтрации большого набора данных. Например, имеется таблица вида Name (string) | Code (int) |...

Правильность фильтрации данных формы
Здравствуйте, гуру php mysql! Подскажите, пожалуйста, как лучше (читай красивее) написать запрос к данным формы: Так: if...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru