Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> две таблицы 
:(
    Опции темы
Argument
Дата 25.2.2010, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 3.2.2010

Репутация: нет
Всего: нет



Имеется база данных, в ней 2 таблицы (first, second). В первой содержатся следующие данные: id студента ($id), ФИО студента ($student), номер зачетной книжки ($number). Во второй следующие данные: id студента, оценка студента ($ocenka). Необходимо при добавлении оценки студенту во вторую таблицу, в случае наличия данного студента в первой таблице, добавлять ее (оценку), иначе ничего не добавлять.
PM MAIL   Вверх
bars80080
Дата 25.2.2010, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



а в чём сложность? перед добавлением оценки, один дополнительный запрос на выборку:

SELECT * FROM first WHERE id=$id

если будет результат - можно вставлять оценку, если не будет, то выдать ошибку
PM MAIL WWW   Вверх
skyboy
Дата 25.2.2010, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



СУБД какая? для большинства СУБД сушествует такой механизм, как "внешний ключ"(foreign key), который как раз реализует проверку "в другой таблице должна быть запись, ключ которой имеет такое же значение", в случае непрохождения этой проверки данный не вставляются/не изменяются.
в некоторых случаях более сложных проверок, чем "есть в другой таблице/нет", можно реализовать при помощи триггеров.
и триггеры, и внешние ключи - механизмы СУБД. потому не лишне было бы узнать, какая СУБД.
ну, а если надо/есть желание реализовать проверку средствами "только РНР", то алгоритм ведь прост: перед вставкой данных сделать дополнительный запрос на проверку наличия/отсутствия записи. в чем проблема? есть код, который не работает/работает не так, как надо? или кода нет вообще и надо кинуть ссылки на статьи по работе с БД под РНР?
PM MAIL   Вверх
Argument
Дата 25.2.2010, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 3.2.2010

Репутация: нет
Всего: нет



СУБД mysql. Понимаю, что задача тривиальная. Только начинаю изучать PHP, поэтому ссылки на статьи были бы не лишними. Код есть, но пока только по простому добавлению записей в таблицы.
PM MAIL   Вверх
Nigel
Дата 25.2.2010, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



Можете попробовать решить тригерами, как предлагали. Мануал тут
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0510 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.