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

Выборка из базы и сделать ссылку по выбранным данным

22.03.2014, 21:04. Показов 2096. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. На главной странице (index.php) сайта есть таблица с данными. Слева есть грубо говоря "панель сортировки". Пока что это обычные страницы, такие же как и главная, отличаются от главной не большим добавлением к запросу (там где номер семестра к запросу добавляется nomer_semestra LIKE '7', там где название предмета "Методы Оптимизации" добавляется к запросу name_preddmeta='Методы Оптимизации' AND nomer_semestra LIKE '7', у группы к примеру 7-78-5 к запросу добавляется nomer_group='7-78-5 AND 'name_preddmeta='Методы Оптимизации' AND nomer_semestra='7'


Суть проблемы: Нужно не делать в виде отдельных страниц, а с помощью запроса. Собственно что-то подобное сделал. Как сделать так, чтобы при клике на них формировалась бы новая таблица? Если нужен код могу написать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2014, 21:04
Ответы с готовыми решениями:

Выборка данных в DataGridView по данным, выбранным в ComboBox
Смысл программы в том что в comobox после нажатия кнопки получить список таблиц появляется список таблиц. Потом я выбираю из списка таблицу...

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

Как сформировать диаграмму(Chart) по выбранным данным из DataGrid ?
Всем привет! Ребят очень нужна помощь! Как сформировать диаграмму(Chart) по выбранным данным (т.е. через CheckBox) данным из DataGrid ?...

21
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
22.03.2014, 21:43  [ТС]
Сделал вот так. Как сделать чтобы номер семестра выводился только один раз, и название предмета тоже один раз. Т.е. сделать так же, как было с ссылками?
Название: меню.png
Просмотров: 68

Размер: 4.8 Кб
Вот код:
PHP
1
2
3
4
5
6
7
8
9
$menu = mysql_query("SELECT * FROM `menu` ORDER BY `Nomer_group`");
echo "Семестр:<br>";
 
while($row = mysql_fetch_array($menu))
{
 echo $row['Nomer_semestra']; echo "<br>";
 echo $row['Name_predmeta']; echo "<br>";
 echo $row ['Nomer_group']; echo "<br><br>";
}
Ну и собственно вопрос о том, как сделать что-то типо ссылки и что бы при кликизапрс для таблички менялся?
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 07:41
в теории (моей личной теории) это как то так,, тройной цикл мать его,,
сразу же говорю, что не факт что это правильно , и да я его не проверял могут быть ошибки,

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$menu = mysql_query("SELECT * FROM `menu` ORDER BY `Nomer_semestra`");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['Nomer_semestra']."<br>";
$menu2 = mysql_query("SELECT * FROM `menu` WHERE Nomer_semestra=".$row['Nomer_semestra']." ORDER BY `Name_predmeta`");
while ($row2 = mysql_fetch_array($menu2)) {
echo $row2['Name_predmeta']. "<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE Name_predmeta=".$row2['Name_predmeta']."  ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo $row3 ['Nomer_group']. "<br>";
    }
  }
}
Добавлено через 1 минуту
в любом случае отпишитесь прокатило или нет, чтоб я знал

Добавлено через 9 минут
а по поводу ссылок это оч просто
генерируете гет ссылки на каждый запрос

Добавлено через 6 минут
Цитата Сообщение от lagrei66 Посмотреть сообщение
echo $row3 ['Nomer_group']. "<br>";
тут косяк нашол после $row3 пробел уберите,,

Добавлено через 15 минут
сыллка по номеру группы

PHP
1
2
3
echo "
<a href=?Nomer_group=".$row3['Nomer_group']."&Name_predmeta=".$row2['Name_predmeta']."&
Nomer_semestra=".$row['Nomer_semestra'].">".$row3 ['Nomer_group']."</a><br>";
ну и далеее в запросе таблицы которая всё это выводит
делаете примерно так

PHP
1
mysql_query("SELECT * FROM `название таблицы` WHERE nomer_group='".$_GET['Nomer_group']."' AND Name_predmeta='".$_GET['Name_predmeta']."' AND Nomer_semestra='".$_GET['Nomer_semestra']."'");
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 13:26  [ТС]
Цитата Сообщение от lagrei66 Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$menu = mysql_query("SELECT * FROM `menu` ORDER BY `Nomer_semestra`");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['Nomer_semestra']."<br>";
$menu2 = mysql_query("SELECT * FROM `menu` WHERE Nomer_semestra=".$row['Nomer_semestra']." ORDER BY `Name_predmeta`");
while ($row2 = mysql_fetch_array($menu2)) {
echo $row2['Name_predmeta']. "<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE Name_predmeta=".$row2['Name_predmeta']." *ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
echo $row3 ['Nomer_group']. "<br>";
}
}
}
Ругается на строчку while ($row3 = mysql_fetch_array($menu3)). Вот ошибка: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in.

Оставил вот такой код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$menu1 = mysql_query("SELECT * FROM `menu` ORDER BY `Nomer_semestra`");
while ($row = mysql_fetch_array($menu1))
{
 echo "Семестр: ".$row['Nomer_semestra']."<br>";
 
 $menu2 = mysql_query("SELECT * FROM `menu` WHERE Nomer_semestra=".$row['Nomer_semestra']." ORDER BY `Name_predmeta`");
 while ($row2 = mysql_fetch_array($menu2))
  {
   echo $row2['Name_predmeta']. "<br>";
 
   $menu3 = mysql_query("SELECT * FROM `menu` WHERE Name_predmeta=".$row2['Name_predmeta']."  ORDER BY `Nomer_group`");
 
  }
}
И получилось вот так:
Семестр: 1
Информатика
Информатика
Информатика
Семестр: 1
Информатика
Информатика
Информатика
Семестр: 1
Информатика
Информатика
Информатика
Семестр: 7
Методы Оптимизации
Методы Оптимизации
Методы Оптимизации
Семестр: 7
Методы Оптимизации
Методы Оптимизации
Методы Оптимизации
Семестр: 7
Методы Оптимизации
Методы Оптимизации
Методы Оптимизации
Семестр: 8
АКиТП
Промышленная логистика
Промышленная логистика
Семестр: 8
АКиТП
Промышленная логистика
Промышленная логистика
Семестр: 8
АКиТП
Промышленная логистика
Промышленная логистика
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 14:23
Цитата Сообщение от TheRealKos Посмотреть сообщение
Ругается на строчку while ($row3 = mysql_fetch_array($menu3))
так яж написал после $row3 в 9той строчке пробел убери

Добавлено через 1 минуту
и верни всё обратно и скинь что получилось

Добавлено через 6 минут
кароч вот так попробуй

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$menu = mysql_query("SELECT * FROM `menu` ORDER BY `Nomer_semestra`");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['Nomer_semestra']."<br>";
$menu2 = mysql_query("SELECT * FROM `menu` WHERE Nomer_semestra=".$row['Nomer_semestra']." ORDER BY `Name_predmeta`");
while ($row2 = mysql_fetch_array($menu2)) {
echo $row2['Name_predmeta']."<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE Name_predmeta=".$row2['Name_predmeta']."  ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo $row3['Nomer_group']."<br>";
    }
  }
}
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 15:16  [ТС]
Цитата Сообщение от lagrei66 Посмотреть сообщение
так яж написал после $row3 в 9той строчке пробел убери
Пробел я сразу же убрал)

Добавлено через 32 секунды
Вот что выдает:
Семестр: 1
Информатика

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Информатика

И далее ошибки идут
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 15:37
ковычки я забыл

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$menu = mysql_query("SELECT * FROM `menu` ORDER BY `Nomer_semestra`");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['Nomer_semestra']."<br>";
$menu2 = mysql_query("SELECT * FROM `menu` WHERE Nomer_semestra='".$row['Nomer_semestra']."' ORDER BY `Name_predmeta`");
while ($row2 = mysql_fetch_array($menu2)) {
echo $row2['Name_predmeta']."<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE Name_predmeta='".$row2['Name_predmeta']."'  ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo $row3['Nomer_group']."<br>";
    }
  }
}
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 15:57  [ТС]
Цитата Сообщение от lagrei66 Посмотреть сообщение
ковычки я забыл
Такое ощущение, что они то ли дублируются, то ли в "троируются". Теперь так выводит (спрячу под спойлер):
Кликните здесь для просмотра всего текста
Семестр: 1
Информатика
1-78-5
1-78-6
1-78-7
Информатика
1-78-5
1-78-6
1-78-7
Информатика
1-78-5
1-78-6
1-78-7
Семестр: 1
Информатика
1-78-5
1-78-6
1-78-7
Информатика
1-78-5
1-78-6
1-78-7
Информатика
1-78-5
1-78-6
1-78-7
Семестр: 1
Информатика
1-78-5
1-78-6
1-78-7
Информатика
1-78-5
1-78-6
1-78-7
Информатика
1-78-5
1-78-6
1-78-7
Семестр: 7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Семестр: 7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Семестр: 7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Методы Оптимизации
7-78-5
7-78-6
7-78-7
Семестр: 8
АКиТП
8-78-7
Промышленная логистика
8-78-5
8-78-6
Промышленная логистика
8-78-5
8-78-6
Семестр: 8
АКиТП
8-78-7
Промышленная логистика
8-78-5
8-78-6
Промышленная логистика
8-78-5
8-78-6
Семестр: 8
АКиТП
8-78-7
Промышленная логистика
8-78-5
8-78-6
Промышленная логистика
8-78-5
8-78-6
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 16:05
какая структура таблицы? скиньте скрин в PhpMyAdmin
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 16:12  [ТС]
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 16:40
а структуру второй таблицы
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 16:48  [ТС]
Цитата Сообщение от lagrei66 Посмотреть сообщение
а структуру второй таблицы
Которая основная, по центру, там идет выборкой из двух таблиц и очень огромный код (точнее говнокод). И вот хочу пока что "меню" это слева сделать... А меню из одной таблицы идет.
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 17:02
думаю название предмета должно быть в другой таблице а здесь только цифры,
пример
Миниатюры
Выборка из базы и сделать ссылку по выбранным данным  
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 17:05
TheRealKos, во второй таблице

цифра 1 будет означать Методы Оптимизации
цифра 2 будет означать Промышленная логистика
цифра 3 будет означать АКиТП
цифра 4 будет означать Информатика
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 17:07  [ТС]
Цитата Сообщение от lagrei66 Посмотреть сообщение
думаю название предмета должно быть в другой таблице а здесь только цифры,
А зачем так. Мне кажется так не очень удобно
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 17:32
либо нет , не так..
номер группы убери из таблицы из этой

Добавлено через 50 секунд
TheRealKos, номера групп будешь из другой табдицы выводить

Добавлено через 19 секунд
там где всё отсальное

Добавлено через 3 минуты
ща попробую,,

Добавлено через 20 минут
TheRealKos, не, бред получается
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 17:37  [ТС]
Цитата Сообщение от lagrei66 Посмотреть сообщение
бред получается
Вот и я так же думал)

Мне кажется вот здесь нужно подправить...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$menu = mysql_query("SELECT * FROM `menu` ORDER BY `Nomer_semestra`");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['Nomer_semestra']."<br>";
$menu2 = mysql_query("SELECT * FROM `menu` WHERE Nomer_semestra='".$row['Nomer_semestra']."' ORDER BY `Name_predmeta`");
while ($row2 = mysql_fetch_array($menu2)) {
echo $row2['Name_predmeta']."<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE Name_predmeta='".$row2['Name_predmeta']."'  ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo $row3['Nomer_group']."<br>";
    }
  }
}
Только вот что. И что бы выводилось нужно в таком вот виде:
Семестр
1
Информатика
1-78-5
1-78-6
1-78-7
8
Методы оптимизации
7-78-5
7-78-6
7-78-7
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 17:54
TheRealKos,
попробуй вот так

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$menu = mysql_query("SELECT * FROM `menu` WHERE nomer_semestra='7' LIMIT 1");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['nomer_semestra']."<br>";
}
$menu2 = mysql_query("SELECT * FROM `menu` WHERE nomer_semestra='7'");
while ($row2 = mysql_fetch_array($menu2)) {
echo "Предмет: ".$row2['name_predmeta']."<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE name_predmeta='".$row2['name_predmeta']."' ORDER BY `nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo "Группа: ".$row3['nomer_group']."<br>";
  }
}
?>
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
23.03.2014, 18:04  [ТС]
Цитата Сообщение от lagrei66 Посмотреть сообщение
попробуй вот так
А зачем именно с номером_семестра=7?

Чуть-чуть подправил:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$menu = mysql_query("SELECT * FROM `menu` WHERE nomer_semestra='7' LIMIT 1");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['nomer_semestra']."<br>";
}
$menu2 = mysql_query("SELECT * FROM `menu` WHERE `Nomer_semestra`='7'");
while ($row2 = mysql_fetch_array($menu2)) {
echo "Предмет: ".$row2['Name_predmeta']."<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE `Name_predmeta`='".$row2['Name_predmeta']."' ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo "Группа: ".$row3['Nomer_group']."<br>";
  }
}
Выдает так:
Семестр:
Предмет: Методы Оптимизации
Группа: 7-78-5
Группа: 7-78-6
Группа: 7-78-7
Предмет: Методы Оптимизации
Группа: 7-78-5
Группа: 7-78-6
Группа: 7-78-7
Предмет: Методы Оптимизации
Группа: 7-78-5
Группа: 7-78-6
Группа: 7-78-7
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
23.03.2014, 18:22
можно так но есть загвостка,, попробуй

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$menu = mysql_query("SELECT * FROM `menu` WHERE Nomer_semestra='7' LIMIT 1");
while ($row = mysql_fetch_array($menu)) {
echo "Семестр: ".$row['Nomer_semestra']."<br>";
}
$menu2 = mysql_query("SELECT * FROM `menu` WHERE `Nomer_semestra`='7' LIMIT 1");
while ($row2 = mysql_fetch_array($menu2)) {
echo "Предмет: ".$row2['Name_predmeta']."<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE `Name_predmeta`='".$row2['Name_predmeta']."' ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo "Группа: ".$row3['Nomer_group']."<br>";
  }
}
Добавлено через 3 минуты
можно даже так

PHP
1
2
3
4
5
6
7
8
9
$menu2 = mysql_query("SELECT * FROM `menu` WHERE `Nomer_semestra`='7' LIMIT 1");
while ($row2 = mysql_fetch_array($menu2)) {
echo "Семестр: ".$row2['Nomer_semestra']."<br>";
echo "Предмет: ".$row2['Name_predmeta']."<br>";
$menu3 = mysql_query("SELECT * FROM `menu` WHERE `Name_predmeta`='".$row2['Name_predmeta']."' ORDER BY `Nomer_group`");
while ($row3 = mysql_fetch_array($menu3)) {
 echo "Группа: ".$row3['Nomer_group']."<br>";
  }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2014, 18:22
Помогаю со студенческими работами здесь

Выборка из БД: Поиск авто по выбранным параметрам
Допустим на странице есть форма для поиска. в ней есть 2 select листа (1 - марка автомобиля. Второй получает модели при выборе марки) ...

Двойная выборка из базы - как сделать "Лучшее по рейтингу"
Подксажите плз. Пробую сделать что-то вроде 'Лучшее по рейтингу'. В таблице записаны id наименования, и его оценка. причем при оценивании...

Выборка по данным формы
Привет! Есть БД с договорами и есть форма (просмотр договора), которая выводит данные по договору. Также на форме располагается кнопка на...

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

Выборка по данным, введенным в текстбокс
У меня создана база данных с использованием model-first. Есть три таблички: Books со свойствами BookID, Title. Authors со свойствами...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru