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

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

02.04.2014, 11:15. Показов 1895. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru