|
|
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
Извините, не знала как коротко обозначить тему. Суть в том, что в базе данных создается временная таблица, в которую не администратор имеет право вносить данные, по окончании ввода оных, данные разносятся по двум таблицам, в которых автоматически заполняются соответствующие id-поля, и вот эти-то id мне нужно внести в четвертую таблицу. Во временной в строке вносятся данные ФИО ребенка и ФИО родителя (+ еще пару полей). Каждая строка делится и они отправляются каждый в свою табличку, а вот только что созданные id, должны попасть в последнюю таблицу и тут я буксую... Понимаю что неправильно сделала последний Select и его тоже надо каким-то образом зациклить, но что-то никак не соображу что же делать??? Помогите, пожалуйста. Код: 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. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2013, 20:09:42 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
Да, забыла написать, БД в mysql, временная таблица на следующем шаге очищается. В моем коде данные в последнюю таблицу вносятся только из первой строки, а надо по циклу от первой до последней из только что введенных (а не вообще из 2 и 3 таблиц в целом) Модератор: Не понятно, каким тут боком PHP/Perl. Вы уверены что со структурой БД все в порядке? Возможно, топик следует перенести в "Проектирование БД". Или в профильный форум по MySQL, если проблема только в запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2013, 20:13:01 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
Модератору виднее, переносите... может и с самой БД что-то не так, я же не профессионал, который ломает голову над какой-то головоломкой, а среднестатистический студент )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 18:04:19 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
serebr, Что-то тут понакручено странное. Вашу операцию легче провести 2 путями: 1) через реализацию на уровне триггеров 2) через вызов хранимой процедуры P.S. Вообще выполнять бизнес логику на клиенте без контроля целостности БД (я контроля пока не увидел, может ТС что-то недоговаривает?) в многопользовательской среде чревато. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 19:05:59 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
DarkMaster, я пока никакую проверку на вводимые данные не делала, копаюсь со всем остальным, проверку буду довешивать везде позднее. Подскажите как именно это можно реализовать? Я ни с триггерами ни с хранимыми процедурами не работала? Откуда начинать копать и в какую сторону лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 19:23:50 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
serebr, У вас (глядя на диаграмму) есть связка id_child<->id_parent. Вы выполняете insert в две таблицы, а потом пытаетесь установить соотношение id_child<->id_parent между ними. Причем каким-то хитросделанным способом, организуя в запросе декартово произведение ;) Вопросы: - зачем там только INSERT? Данные обновлятся не могут разве? - зачем там декартово произведение? Вы действительно желаете узнать, кто мог бы стать отцов Вовы Сидорова, если б звезды сложились иначе? - зачем временная таблица, какую смысловую нагрузку она несет? Почему нельзя сделать (грубо) 2 формы и спросить - введите данные о ребенке, введите данные о родителе и сохранить или обновить информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 19:51:04 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
DarkMaster, во временную таблицу вносит данные обычный вожатый, в процессе ввода данных, пока он не закрыл сессию, он может эти данные редактировать, вносить новые данные, удалять уже введенные. После того как он заканчивает сеанс, введенные им данные разлетаются по разным таблицам, а временная опустошается и вожатый больше не может редактировать данные, он сможет только получать выборки из таблиц. Про "только INSERT" - это пока "только", просто я еще не вставила проверку на то существует ли уже такой ребенок/родитель в БД. И я не хочу узнать кто мог бы стать потенциальным родителем ребенка, в этом у меня и проблема, я не знаю как организовать эту часть ввода данных (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 19:59:37 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
serebr, 1) Представь, что у тебя в процессе работы вожатого что-то поломалось - комп. завис, или к Инету в гости пришел пушистый зверек. А он уже навводил во временную таблицу 100500 детей/родителей. Что делать будешь? - это о временной таблице 2) Чтобы не гадать, "кто же папа?" - достаточно сделать такую выборку: Код: sql 1. 2. 3. 4. 3) Что-то топик все дальше и дальше уходит от PHP - тебе сначала в профильные форумы по БД надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 20:31:06 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
DarkMaster, пыталась и в профильные обратиться, а они как видят <? дальше видимо и не читают, сюда отправляют )) Временная она только по названию, для себя я ее так обозначила, а так она вполне себе реальная, данные туда вносятся сразу, а обнуляются только после разнесения их по нужным мне таблицам ... И к сожалению, я видимо невнятно сформулировала свою проблему, мне не нужна данная выборка, у меня последняя табличка не заполнена. Я не знаю как грамотно ее заполнить (( У меня же во "временной" таблице нет id-ребенка и id-родителя! (тот id-ребенка что имеется к ним отношения не имеет :-), он служит совсем для других целей) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 20:36:40 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
serebr, 1) Раздели свой вопрос на 2 - "как правильно спроектировать БД", и "как мне с этой БД сделать следующее" 2) Если у тебя во временной/третьей/левой таблице нет однозначных связей с уже существующими/заполненными таблицами - у тебя в этой таблице мусор, который можно "занести" куда угодно. Вот я пишу на листике "Вася" - что дальше я должен делать? Кто или что это - "Вася"? В общем - марш в профильный форум. С картинкой и без <?...?> чтобы поняли и прочитали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2013, 21:11:08 |
|
||
|
Разнести данные по таблицам
|
|||
|---|---|---|---|
|
#18+
DarkMaster, спасибо за то что потратили на меня время. Не знаю насколько все учла, но пока сделала так и на мой взгляд работает )) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2013, 20:14:22 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38461045&tid=1835737]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 284ms |

| 0 / 0 |
