Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, подскажите как правильно сделать задание:
Цель: Вывести информацию про детали, поставки которых были совершены для указанного изделия всеми поставщиками
Увеличить рейтинг поставщика, которые выполнили больший суммарный объем поставок, на указанную величину.
пример:
Структура базы данных:
Postav- таблица поставщиков
id – идентификатор
name – Название фирмы (компании)
city - город
director - Ф.И.О директора
address - адрес поставщика
rating – рейтинг поставщика
SQL-запрос
Неактивен
Здравствуйте!
Вам предложили самостоятельно разобраться в СУБД? Вообще ничего не рассказав?
Интересно, что они при этом ожидают получить
Я бы пошел от изделия. Берем изделие, ищем детали, из которых оно делается (кстати,
почему изделие делается только из одного вида деталей?). Ищем поставки, которые
покрывают эти детали и считаем количество поставщиков. Если оно при этом равно
суммарному количеству поставщиков — мы выиграли.
SELECT izdel.id, COUNT(*)
FROM izdel, detal, postavki
WHERE izdel.name = detal.name AND
detal.name = postavki.product
GROUP BY izdel.id
Неактивен
paulus, Я даже не знаком с субд такой как MySQL. И как видите я весело попал, Вы бы не могли подробнее рассказать какие запросы создать и как вывести согласно моему заданию примерно как указано в примере. (И желательно объяснить как и зачем)
Неактивен
Ну хоть с какой-то базой данных Вы знакомы? Представляете себе, что такое
реляционные базы?
Неактивен
создавать могу, а вот структуру не знаю
пособия все до одного места, вы не могли бы наглядно показать как это можно сделать согласно задания?
как я понял нужно создать 4 файла: db.php index.php postav.php rating.php
данные в пхп файлах если не ошибаюсь те же?
Неактивен
Т.е. Вы не хотите изучать тему самостоятельно, а хотите, чтобы я за Вас сделал
задание? Нет, я это делать не буду.
PHP к базам данных отношения не имеет. Есть ощущение, что его Вам тоже пред-
стоит изучить. Вопросы по PHP следует задавать на webew.ru. Но, если вопросы
будут вида «напишите за меня», — скорее всего, тоже ответа не получите.
Неактивен
Нет, наоборот хочу! и желательно разобраться на всем готовом можно было просто у у кого то попросить ... а на форуме я хочу чтобы объяснили!!!!
почему не имеет? ведь через пхп вывод данных с бд
Неактивен
Тогда почитайте про реляционные базы данных. Хотя бы в википедии.
Структура базы у Вас уже есть (найдите в своем задании). Вам нужно
разобраться с объединениями таблиц. Когда две таблицы написаны
через запятую в одном запросе (SELECT ... FROM a, b), выбираются все
строки одной таблицы и для каждой строки выбираются все строки дру-
гой таблицы (т.е. суммарное количество строк будет равно произведе-
нию количеств строк отдельных таблиц). Ограничения WHERE, соответ-
ственно, выбирают только некоторые из этих строк.
Когда Вы это осознаете, поймете и мой первый ответ.
Что касается PHP — это один из самых неудачных способов работы с базой
данных, тем более — на этапе базового изучения. Воспользуйтесь стандарт-
ным клиентом mysql или на худой конец — MySQL Workbench.
Неактивен
Если я правиль понял то что вы предложили нужно использовать место:
Отредактированно kpik (15.03.2011 20:36:57)
Неактивен
Насколько я понимаю, Ваш rating.php уже изменяет РЕЙТИНГ.
Неактивен
да увеличивает рейтинг поставщика,который выполнил наибольшую поставку определенной детали
а нужно чтобы можно было увеличить рейтинг поставщиков, которые выполнили больший общий объем поставок на указаную величину ...
Отредактированно kpik (17.03.2011 00:48:38)
Неактивен
Ну так напишите, в чем проблема? Код за Вас на PHP на этом форуме вряд ли
кто-то будет писать. Потому что
а) никто за Вас не будет писать код;
б) PHP не имеет отношения к MySQL.
Неактивен
мне интересно какой запрос нужно создать в рейтинг.пхп
там где
SELECT id,supplier,MAX(kol) as kol FROM postavki WHERE product = '$product'
и
UPDATE postav SET rating = '$rating' WHERE name = '$name'
и объяснить )))
Неактивен
UPDATE postav SET rating = '$rating' WHERE name = '$name'
Устанавливает rating в значение $rating для тех строк, где name равно $name
Чтобы увеличить рейтинг можно написать, например, SET rating = rating + $delta,
где $delta — значение, на которое надо увеличить рейтинг.
Неактивен