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

Результат выборки передать GET запросом для изменения условий другой выборки

02.04.2014, 11:15. Показов 1923. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такая таблица menu:
Menu


Таким запросом вывожу на страницу:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php include ("bd.php");
 
function display_menus($parent = 0)
{
 $query = mysql_query("SELECT * FROM `menu` WHERE `parent` = '$parent' ORDER BY `title`") or die(mysql_error());
 if (mysql_num_rows($query) > 0)
 {
  echo "<ul>";
  while ($row = mysql_fetch_array($query))
  {
   echo "<li> <a href='index.php_".$row['parent']."_".$row['title']."'>" .$row['title']. "</a>";
   display_menus($row['title']);
   echo "</li>";
  }
  echo "</ul>";
 }
}
echo "Семестр";
display_menus();
 
?>
Получается такая менюшка на сайте
Сайт


Собственно при клике на пункты меню, должно меняться условие выборки для таблицы слева (можно увидеть на скриншоте).

Вот как сама талбица строится и наполняется (приведен пример для заполнения ячеек "Группа", "Студент", "Тема", но остальные заполняются аналогично "Теме"):
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
<?php 
include ("bd.php");
$resource= mysql_query('SELECT * FROM `users` WHERE `type_users` = "Студент" ORDER by `group`',$db); ?>
 
<table width="100%" border="1" cellspacing="1">
<caption></caption>
  <tr>
    <td colspan="8" align="center">Главная страница<br></td>
  </tr>
<tr>
      <td align="center" width="5%"  height="25px" bgcolor="">Группа</td>
      <td align="center" width="10%" height="25px" bgcolor="">Студент</td>
      <td align="center" width="15%" height="25px" bgcolor="">Тема</td>
      <td align="center" width="15%" height="25px" bgcolor="">Руководитель/<br>Консультант</td>
      <td align="center" width="15%" height="25px" bgcolor="">Язык пр./<br>Среда пр.</td>
      <td align="center" width="15%" height="25px" bgcolor="">Тематика</td>
      <td align="center" width="10%" height="25px" bgcolor="">Файлы</td>
      <td align="center" width="15%" height="25px" bgcolor="">Комментарий</td>
</tr>
    <?php 
       //тут еще функция для работы с файлами...
     while($array2 = mysql_fetch_assoc($resource)) : ?>
    <tr>
     <td align="center"><?php echo $array2['group'];  ?></td> <!-- Группа -->
     <td align="center"><?php echo $array2['name']; echo ' '; echo $array2['familiya']; ?></td> <!-- Студенты -->
 
     <td align="center"><?php  
 
      $file_id = 555;// Уникальный идентификатор
      $name = @$_SESSION['login'];
      $poluchatel_file = $array2['id'];// id пользователя, для которого предназначается комментарий
      $mysqli = new mysqli("данные для подключения");// Подключается к базе данных
 
      $mysqli->query("SET CHARACTER_SET_client='cp1251'");
      $mysqli->query("SET CHARACTER_SET_results='cp1251'");
      $mysqli->query("SET collation_connection='cp1251_general_ci'");
 
      $result_set = $mysqli->query("SELECT * FROM `files` WHERE `file_id`='$file_id' AND `poluchatel_file` = " .$array2['id']); //Вытаскиваем все данные для данного файла
 
      if($result_set)
       {
        while ($row = $result_set->fetch_assoc())
        {
         print_r($row["tema"]); echo "<br>"; //Вывод темы
        }
       }
?>
Ну вот собственно как при клике на меню, менять условие выборки для заполнения таблицы?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2014, 11:15
Ответы с готовыми решениями:

Как проверить две выборки по критерию хи квадрат (есть функция chi2gof но она для одной выборки)
как проверить две выборки по критерию хи квадрат (есть функция chi2gof но она для одной выборки)

Формирование отчета по введенным данным для выборки или же без условий
Добрый вечер. Подскажите как сделать возможность формировать отчет введя предварительно данные для выборки или же без условий. Без создания...

Несколько условий выборки в БД
Доброе время, уважаемые форумчане. У меня возникла не большая проблема, над которой я бьюсь уже несколько часов. $date_s=$_GET; ...

13
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
02.04.2014, 22:40  [ТС]
Приподниму тему , вдруг кто знает...
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
03.04.2014, 11:02
при клике на меню переходить на ту же самую страницу, только с измененным запросом. Например &menuItem=2
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
04.04.2014, 09:58  [ТС]
Цитата Сообщение от AmsTaFFix Посмотреть сообщение
при клике на меню переходить на ту же самую страницу, только с измененным запросом. Например &menuItem=2
Собственно как вот это сделать, мне не понятно

Добавлено через 10 часов 48 минут
Приподниму...

Добавлено через 11 часов 49 минут
Еще раз вверх приподниму..очень нужна помощь...
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
04.04.2014, 11:44
так, стоп... вы не можете приписать href к ссылкам меню?, типа href="index.php?menuitem=2"
0
26 / 26 / 9
Регистрация: 02.01.2011
Сообщений: 135
Записей в блоге: 1
04.04.2014, 12:26
вот так:
Цитата Сообщение от TheRealKos Посмотреть сообщение
echo "<li> <a href='index.php?menuitem=".$row['id'].""'>" .$row['title']. "</a>";
1
 Аватар для pdbq
18 / 18 / 7
Регистрация: 15.09.2010
Сообщений: 133
04.04.2014, 13:02
в каждой ссылке автоматически или вручную прописываешь(к примеру):
index.php?page=vip
где page это переменная php $page равная vip. допустим vip это просто значение переменной или же это к примеру название файла которое вы можете открыть include(vip.php)
index.php?page=vip&var1=qwe&var2=qwer&var3=qwert пример нескольких переменных
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
04.04.2014, 20:59  [ТС]
Hagacure, Спасибо, только одна лишняя двойная кавычка была
Сейчас получаются передаются id. И как теперь изменить значения ниже идущих выборок, первая -формирует таблицу на главной странице, а вторая выбирает данные и заполняет ячейки (в самом первом посте есть). Т.е. к примеру кликнули на 7-78-5, которая идет в меню как "7 -> МО - > 7-78-5", нужно чтобы отобрались данные где "Номер_группы LIKE 7%", "Предмет = МО", "Группа = 7-78-5".

Добавлено через 2 часа 47 минут
Что-то я сам себя запутал
Так нужно: если кликнули на 7-78-5, которая идет в меню как "7 -> МО - > 7-78-5", нужно чтобы отобрались данные где "Номер_группы = 7-78-5", "Предмет = МО". Если же кликнули МО, которая идет в меню как "7 -> МО", нужно чтобы отобрались данные где "Номер_группы LIKE 7%", "Предмет = МО".
0
 Аватар для pdbq
18 / 18 / 7
Регистрация: 15.09.2010
Сообщений: 133
05.04.2014, 13:25
HTML5
1
a href='index.php?menuitem=".$row['id']."
дописываешь:
a href='index.php?menuitem=".$row['id']."&predmet=MO&menu=7

SQL
1
SELECT * FROM * WHERE `Номер_группы`=$menuitem AND  `Предмет`=$predmet;

SQL
1
SELECT * FROM * WHERE `Предмет`=$predmet AND `Меню` LIKE '$menu%';

я же писал выше как работать с переменными. в чем сложность??
мне одному кажется что логика этой задачи немного корявая??? я конечно не вчитывался но что то настораживает
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
05.04.2014, 14:22  [ТС]
Цитата Сообщение от pdbq Посмотреть сообщение
дописываешь:
a href='index.php?menuitem=".$row['id']."&predmet=MO&menu=7
Это получается, если по любому пункту меню кликнуть, то будет "предмет=МО", "номер_семестра=7". А должно же быть не так. Кликнули по пункту меню "Информатика", и выбрались данные где "предмет=информатика", "номер+семестра=2" и и другие по аналогии.
0
 Аватар для pdbq
18 / 18 / 7
Регистрация: 15.09.2010
Сообщений: 133
05.04.2014, 14:50
Цитата Сообщение от TheRealKos Посмотреть сообщение
А должно же быть не так
ну так подставь
a href='index.php?menuitem=".$row['id']."&predmet=".$row['predmet']."&menu=".$row['menu']."
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
05.04.2014, 17:03  [ТС]
Сделал для меню так:
PHP
1
echo "<li> <a href='index.php?menuitem=".$row['id']."&parent=".$row['parent']."&title=".$row['title']."'>" .$row['title']. "</a>";
Т.к. может получиться, что либо в parent либо в title может храниться название предмета или семестра. Группа же получается хранится только в title.

Далее для таблицы сделал такую выборку:
PHP
1
$resource= mysql_query('SELECT * FROM `users` WHERE `type_users` = "Студент" AND `group` LIKE "$title%" ORDER by `group`',$db);
Но почему-то вообще ничего не выводится
При чем делаю такой же запрос в PHPMyAdmin, и все нормально выводится (только вместо "$title%" ставлю к примеру "7%").
0
 Аватар для pdbq
18 / 18 / 7
Регистрация: 15.09.2010
Сообщений: 133
05.04.2014, 20:41
Цитата Сообщение от TheRealKos Посмотреть сообщение
`group` LIKE "$title%"
LIKE '%$title% попробуй так


напомни кстати зачем использовать LIKE может жесткая привязка через равно нужна?
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
07.04.2014, 15:23  [ТС]
Цитата Сообщение от pdbq Посмотреть сообщение
напомни кстати зачем использовать LIKE может жесткая привязка через равно нужна?
Когда кликаем на семестр (например 7, нужно выбрать все группы из 7ого семестра, т.е. 7-78-5, 7-78-6, 7-78-7 и т.д.)
Цитата Сообщение от pdbq Посмотреть сообщение
LIKE '%$title% попробуй так
Пробовал, результат такой же

Добавлено через 9 минут
Для таблицы сделал так, и если не выбирать пункты меню, то выводятся все данные как нужно, если же выбрать из меню группу, то ни чего не выводятся (данные проверял, есть с группой 7-78-5, в меню кликал на нее, но ничего yt вывелось)
PHP
1
2
3
4
5
6
7
8
if (isset($_GET['title']))
{
$resource= mysql_query('SELECT * FROM `users` WHERE `type_users` = "Студент" AND `group` LIKE ".$_GET[title]." ORDER by `group`',$db);
}
else
{
$resource= mysql_query('SELECT * FROM `users` WHERE `type_users` = "Студент" ORDER by `group`',$db);
}
Добавлено через 25 минут
Когда (isset($_GET['title'])) добавил echo $_GET['title']; и в итоге при кликанье на группу, вначале таблицы пишет номер группы, а сама таблица не заполнятеся

Добавлено через 1 час 13 минут
Кстати, жесткая привязка через равно тоже ни чего не дает...

Добавлено через 18 часов 43 минуты
Ну вроде же чуть чуть осталось...

Добавлено через 15 часов 56 минут
Неужели ни кто не сталкивался с этим?

Добавлено через 5 часов 59 минут
Очень помощь нужна...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2014, 15:23
Помогаю со студенческими работами здесь

Можно ли исключить из выборки результаты предыдущей выборки?
Не могу придумать как лучше решить следующую задачу: Есть таблица с неким числовым полем, в котором хранятся семизначные номера....

Глюк если редактируются данные в момент их выборки запросом
Доброго времени суток. Столкнулся с таким глюком, есть процедура которая запускается и работает примерно 5-6 минут. В ней выбираются...

Сделать выборку из picklist dbgrid для отбора в другой таблице на основе этой выборки
И снова я в запаре.. дым с ушей идет :help: короче задача такая нужно сделать фильтрацию через комбобоксы дбгрида, например есть дбгрид где...

Знающим по запросам выборки/изменения
База данных «Ресторан. Информация для посетителей» 1) Меню: дневное или вечернее 2) Скидки 3) цена блюда 4) название блюда ...

Результат выборки в JSON
Сабж не получается сделать, смотрел, как тут на форуме делали - не работает почему-то:( while ($row= $result-&gt; fetch_assoc()) ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru