Теперь возникает вопрос, как это реализовать конкретно в mySQL. В частности, не пойму как сделать последнюю таблицу reference_data(ref_id, field_id, ref_data). Как вы поняли, ref_id и field_id это внешние ключи из таблицы справочников и полей. Можно ли в mySQl сделать внешний ключ field_id, таким образом, что бы значения в нем можно было выбрать из того диапазона столбцов, которые прописаны в таблице reference_field.
Вот так думаю будет более наглядно:
Таблица reference: reference_id | reference_name | reference_description |
-------------------------------- -------------------------------- ---------
1 | Reference 1 | bla-bla-bla |
2 | Reference 2 | --//--//--//--// |
Таблица reference_field: field_id | reference_id | field_name |
-------------------------------- --------------------------------
1 | 1 | Field 1 |
2 | 1 | Field 2 |
3 | 1 | Field 3 |
4 | 2 | Field 1 |
5 | 2 | Field 2 |
Можно ли как-то объяснить Мускулу, что если в столбце ref_id таблицы reference_data выбран id первого справочника, тобиш 1, то в столбце field_id можно было бы выбрать id только тех полей, которые относятся к Reference 1, тобиш 1, 2 и 3.?
И вообще, мне кажется что foreign key лучше брать из таблицы reference_field, ведь справочник может быть создан, а поля для него еще нет, поэтому если брать внешний ключ справочника из его первичной таблицы reference, то в field_id можно записать id любого поля, даже не относящегося к выбранному по Id справочнику.
Я где то читал, что главной проблемой uuid является нелинейный insert. Т.е. записи могут вставляться как в начало так и в конец так и в середину таблицы. Одним из решений была генерация на основе текущего времени в микросекундах. Поправьте если я ошибаюсь. И в MySQL генерируется именно TIME STAMP UUID. Или это не так?
Говорит, что $uuid это объект. Только вот не понятно какими методами он обладает. Запрос ведь возвращает 0 строк
Кстати, Ваш код тоже самое возвращает. Объект с непонятными свойствами и методами. ass_array() не работает. (Добавление)
P.S.
3 php-генератора для uuid перепробовал. Нифига они не последовательные uuid возвращают. Вся соль в том, что бы каждая новая запись писалась в конец таблицы, а не куда ей вздумается. В случае с php-генераторами почему-то получается именно так. Я уже и переделывал их что бы в binary(16) можно было записать (то что сейчас МуСкул делает), бесполезно.
Протестил МуСкульную функцию, работает как часы из 1000 записей, вся 1000 записалась последовательно в конец таблицы, а не куда вздумается. (Добавление)
Как в принципе получить результат работы mysql функции в php (которая 0 строк возвращает)?
DelphinPRO, пока сидел на горшке в голове родилась примерно такая реализация. Спасибо! Так можно любое кол-во справочников с любым кол-вом полей уложить в 3 таблицы!
Стоит следующая задача: разработать структуру таблиц MySQl таким образом, что бы можно было создавать справочники. Каждый справочник уникален по набору данных. К примеру:
Справочник городов:
id | Название города | Почтовый индекс | Страна |
Справочник абнентов:
id | Фамилия | Имя | Отчество | Номер телефона |
Справочник овощей:
id | Название |
Нужно, что бы была возможность быстрого создания нового справочника (Ввел название, описание, указал кол-во полей, на следующем шаге выбрал тип данных (строковый или числовой) и вписал название для каждого поля). Редактирование состава полей справочника. Заполнение справочника и получение данных из него только по ID справочника. Т.е. знаешь id справочника - получаешь все его данные.
Как возможно реализовать это в двух, максимум трех таблицах? Что бы не создавать для каждого справочника новую таблицу?
Здравствуй мой любимый форум. Обращаюсь к автору статьи на сайте php.su, по адресу http://www.php.su/articles/?cat=...hp5&page=004 Пример 3 "Клонирование объектов" не работает. И вообще, принцип клонирования описан как то не так, что ли. Вот тут более актуальная инфа ИМХО http://php.net/manual/ru/language.oop5.cloning.php. Надо бы поправить.
После выполнения файла destroy.php сессия должна уничтожаться. Она уничтожается в браузерах Opera и FF, но в Хроме она не то что ни уничтожается, но еще и при обычном её получении в файле verify.php значение $_SESSION['value'] постоянно новое.
Я честно говоря в принципе не могу понять как такое вообще может происходить.
$_FILES['uploadfile']['name'], отрезаешь последние 4 символа и свераешь со строкой которая тебе нужна, например 'jpg', если не совпадает, то в топку его, если да, то загружаем. Как-то так.
Бесполезно. Причем он не только их хреново забывает, но еще и сам как-то значения туда записывает, причем данные записывает не от фонаря, а по тому же принципу что и я в файле index.php