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

Вывод соответствующих значений из базы данных

05.06.2018, 11:31. Показов 961. Ответов 15

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые знатоки ))
Есть следующая проблема:
Есть 3 select'a, в них прописаны значения наименования производителей, наименования принтеров и наименования картриджей. Название таблицы из которой нужно выводить значения - Prais. Вывод из БД в select'ы я сделал, теперь нужно чтобы при выборе конкретного картриджа и нажатии на кнопку выводился alert с ценой выбранного картриджа. То есть, если в select выбран картридж Canon C-725, то нужно вывести его цену из столбца Prise. Помогите пожалуйста, желательно написать код, буду очень благодарен.
Миниатюры
Вывод соответствующих значений из базы данных  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2018, 11:31
Ответы с готовыми решениями:

Вывод значений из базы данных
Уважаемые знатоки! Возможно ли вывести из базы данных значения в таблицу? Например: <table><tr><td>значения из БД...

Динамический вывод значений из базы данных
Подскажите,пожалуйста, как реализовать следующее: есть скрипт, который постоянно обновляет значения в полях таблицы бд и скрипт, который...

Вывод из базы данных нужных значений
Есть база данных с с таблицей users; Внутри нее есть ячейки, пример: first_name: Казань, Уфа, Самара item0: 35, 36, 57 ...

15
 Аватар для D_Vik
368 / 234 / 68
Регистрация: 19.07.2016
Сообщений: 833
05.06.2018, 12:04
Weryk,

А почему бы не вывести цену сразу с названием картриджа ? Зачем еще алерт ?
0
0 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 4
05.06.2018, 12:26  [ТС]
Согласно заданию, нужно выбрать картридж, а потом при нажатии на кнопку выводить цену
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
05.06.2018, 12:45
Цену можно прописать в data атрибуте option.
HTML5
1
<option data-price="1">...</option>
На событие смены значения селекта брать цену из выбранного option и записывать в глобальную переменную.
При нажатии кнопки выводить значение из этой глобальной переменной.
0
0 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 4
05.06.2018, 13:24  [ТС]
Дело в том, что цену нужно брать именно из таблицы.
Есть вот такой код, подскажите что не так. Он выводит цену только если значения в столбце все одинаковые, т.е. он не выводит цену соответствующего картриджа. Если можно, напишите как должно быть, буду очень благодарен.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include ('../public_html/assets/pars/Connection.php');
$link = mysqli_connect($host,$user,$password, $bdname)
or die("Ошибка1". mysqli_error($link));
$prs = $link->query("SELECT distinct Prise FROM Prais");
while (($row = $prs->fetch_assoc())!=false){
    echo '<script type="text/javascript">
    function output()
{
    alert("Цена заправки выбранного вами картриджа - '.$row['Prise'].'р. ");
}';
}
echo '</script>';
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
05.06.2018, 13:54
Цитата Сообщение от Weryk Посмотреть сообщение
что цену нужно брать именно из таблицы.
Ну так в чем проблема? Взяли данные из БД и сгенерировали селекты с названиями, ценами и прочим.
Цитата Сообщение от Weryk Посмотреть сообщение
Есть вот такой код, подскажите что не так.
Да тут всё не так. Каждая строчка -> бред.
Цитата Сообщение от Weryk Посмотреть сообщение
Он выводит цену только если значения в столбце все одинаковые, т.е. он не выводит цену соответствующего картриджа
Ну а где вы в sql запросе указали соответствующий картридж? Где "where id = ?" чтобы взять цену из конкретной строчки, а не все возможные цены. Еще и distinct зачем то приписали.

Таблица у вас некорректная. Почитайте про нормализацию.


Кстати, если при выводе цены можно перезагружать страницу, то все еще проще. Обычная форма с селектами. При нажатии кнопки отправляете id выбранного картриджа на сервер и он возвращает страницу с ценой.
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
05.06.2018, 13:55
Weryk, а что такое
Цитата Сообщение от Weryk Посмотреть сообщение
distinct Prise
У Вас столбец есть с названием 'Prise', а distinct это что?
0
0 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 4
05.06.2018, 14:34  [ТС]
Можете написать полностью код, как должно быть? Желательно без перезагрузки страницы.
Заранее благодарю
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
05.06.2018, 15:37
Weryk, для начала добавьте в таблицу id с автоинкриментом, чтобы можно было по id выборку делать. А так Вам правильно писал коллега tarasalk, что у Вас непонятно как запросить строку с соответствующим картриджем.
0
9 / 9 / 9
Регистрация: 05.03.2018
Сообщений: 65
05.06.2018, 22:22
Для начала сделайте каждой строке в таблице уникальный id, а потом с ним работайте!
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
05.06.2018, 23:49
Цитата Сообщение от atanov Посмотреть сообщение
а distinct это что?
Убирает дублирующиеся строки
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
06.06.2018, 20:13
Цитата Сообщение от Weryk Посмотреть сообщение
Если можно, напишите как должно быть, буду очень благодарен.
ну вставьте ПОСЛЕ таблицы с картриджами этот код:
JavaScript
1
2
3
<script type="text/javascript">
function show_price(price) {alert(`Цена заправки выбранного вами картриджа - ` + price + `руб.`);}
</script>
а в таблице нарисуйте строки такие:
PHP
1
2
3
4
5
6
while ($row = $res->fetch_assoc()) {
$TR[] = "<tr onclick='show_price(".$row['prise']."'>
<td>...</td>
</tr>";
}
implode("\n\n", $TR);
"без перезагрузки страницы" при ваших знаниях вам не светит
наУчитесь гуглить - курите ajax jquery
1
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
06.06.2018, 20:28
полудух, осталось только вспомнить что у ТС селекты, а не таблица
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
07.06.2018, 00:40
чегось?
на скрине там таблица
и тут:
Цитата Сообщение от Weryk Посмотреть сообщение
Согласно заданию, нужно выбрать картридж, а потом при нажатии на кнопку выводить цену
какие кнопки в селектах
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
07.06.2018, 08:16
Есть 3 select'a, в них прописаны значения наименования производителей
Вывод из БД в select'ы я сделал, теперь нужно чтобы при выборе конкретного картриджа
То есть, если в select выбран картридж Canon C-725, то нужно вывести его цену из столбца Prise
Как минимум ТС намекал что селект должен быть и как то влиять на выводимую цену.

Цитата Сообщение от полудух Посмотреть сообщение
на скрине там таблица
На скрине phpmyadmin, вряд ли ТС хотел его переделать)
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
07.06.2018, 11:32
ok, но ему всё равно onclick нужен:
Цитата Сообщение от полудух Посмотреть сообщение
Согласно заданию, нужно выбрать картридж, а потом при нажатии на кнопку выводить цену
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2018, 11:32
Помогаю со студенческими работами здесь

Вывод значений из базы данных в select
Здраствуйте! Помогите написать код который, выводить значений (размеры) из базы данных в select на сайт (Интернет Магазин), потом в сайте...

Вывод из базы данных необходимых значений
Есть база данных с с таблицей users; Внутри нее есть ячейки, пример: first_name: Казань, Уфа, Самара item0: 35, 36, 57 ...

Вывод определённых значений из базы данных
Никогда не имел дело с базой данных какого либо вида. Разрабатываю программу для тестирования с динамической системой вопросов и ответов,...

Вывод значений из базы данных MS Access в ComboBox
Здравствуйте! Имеется крошечная БД с табличкой &quot;Курс&quot;, в которой есть следующие столбцы: id, доллар (собой он как раз и подразумевает курс...

Вывод из базы данных одинаковых значений лишь единожды
Всем здравствуйте, вот код sql=&quot;SELECT * FROM tb_hismatch ORDER BY date DESC&quot;; $result=mysql_query($sql); ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru