Как организовать таблицу типа 'options'

JawsIk

Новичок
Как организовать таблицу типа 'options'

Сам изучаю MySQL буквально третий день
Полазил по форуму, по поиску, но ничего для себя не нашёл.

Суть такая:

Вот решил я сделать таблицу options ... три поля ... id, name, value

ну блин как то неудобно так пользоваться. Получается, чтобы вытащить какое-нить значение, нужно под каждое значение делать запрос.

Пример (вот сколько нужно нахерачить, чтобы получить всего два значения $path_file и $clean_file):

PHP:
$res_opt = mysql_query("SELECT value AS path_file FROM options WHERE name='path_file'", $db);
$row_opt = mysql_fetch_array ($res_opt);
$path_file = $row_opt["path_file"];

$res_opt = mysql_query("SELECT value AS clean_file FROM options WHERE name='clean_file'", $db);
$row_opt = mysql_fetch_array ($res_opt);
$clean_file = $row_opt["clean_file"];
то же самое и с обновлением опций... если мне нужно обновить что-либо, то приходиться тоже писать каждый запрос под каждую опцию.

Т.к. аппетит у меня хороший, то я собираюсь делать веб-сервис, где будет порядко 70 опций, а представьте, что мне понадобилось воспольоваться например 40 опций сразу, это же будет ну просто огромное количество кода, да при этом ещё и 40 запросов к базе. Может есть какой нить выход, типа чтобы через массив как нить работать или ещё как...

Я же говорю, что только начинаю и поэтому не знаю, как организовать правильно таблицу и потом сразу в одну ячейку к примеру записать целый массив (ну например группу опций по работе с клиентами). Т.е. к примеру есть массив:
PHP:
$clients["status"] = 1;
$clients["start"] = "one";
$clients["right"] = "new_right.txt";
$clients["top_price"] = 17;
$clients["down_price"] = 7;
$clients["welcome"] = "Добро пожаловать дорогой клиент в ";
Чтобы я делал какой нить запрос и на выходе получал ассоциативный массив с которым можно было бы работать.

Как я хочу получить ответ:
1. Сделай таблицу таким вот макаром ...
2. Для добавления делай запрос подобный этому...
3. Для обновления запрос подобный этому...
4. Для получения запрос подобный этому...

Надеюсь понятно объяснил, что хочу... за ранее спасибо...

p.s. я просто чисто в теорее представляю сколько опций в движке WordPress, а запросов то делается всего штук 20...
p.s.2. Если есть куда ткнуть носом (ссылку типа), то тыкайте...
 

Bitterman

Новичок
Сам изучаю MySQL буквально третий день
Полазил по форуму, по поиску, но ничего для себя не нашёл.
Чтобы что-то изучить, по-моему, надо лазать не по форуму, а читать документацию и книги по тематике.
mysql.ru
mysql.com
http://phpfaq.ru/mysql
 

JawsIk

Новичок
а по существу?... слабо?

я сделал проект, но он всё хранит в файлах, а заказчик говорит, что ему так не нравиться и нужно сделать через мускул.

Сдавать проект в пятницу... когда мне блин изучать? Я уже половину реализовал с тремя книжками, которые у меня были под рукой, чего не находил искал в инете, и только по этому вопросу полез на форум, а тут гляжу вместо помощи, только "поумничать" могут...
 

cDLEON

Онанист РНРСlub
Если поиск по твоим "опциям" не нужен, то в одну ячейку можно загнать\извлечь данные с помощью
[m]serialize[/m] / [m]unserialize[/m]
 

JawsIk

Новичок
2cDLEON
Спасибо добрый человек. Покопался и как раз то что мне нужно. Теперь я могу любой массив с опциями пихануть в одну ячейку. Это как раз то самое, я теперь разгруппировал все опции. Хорошо, когда на форуме есть шарущие люди...

2Bitterman - Вот придёшь ты к доктору и скажешь, ё-моё ... болит то-то и вот так. А он тебе и ответит, вот тебе справочник по лекарствам в 500 страниц, вон аптека напротив ... давай читай, иди и покупай. А ты скажешь, доктор, но мне кажется я умираю, ткните меня носом на нужную страницу, а он ответит, я ткнул. Чего тебе ещё надо?

p.s. а всё понял... ты же помощник санитара :)
 

Bitterman

Новичок
JawsIk
Вот приду я к доктору и скажу: "Ё-моё, обещал тут чувака одного вылечить, а в медицине - ни бум-бум. Давай ты придешь в свой выходной и вместо меня его вылечишь, а то я его обещал к пятнице вылечить. а мне деньги очень нужны."
Ответ доктора можешь дофантазировать сам...
Помирает он видите-ли...
 

JawsIk

Новичок
А вывод то сделан. Один человек помог, а другой ни пойми что говорит и самое главное, не помог...

успехов всем...
 

iceman

говнокодер
считай все данные из таблицы в массив и убери id он не нужен...
name сделай PRIMARY

массив типа $array['name'] = 'value';

и по ключу ищи себе нужный конфиг...
 
Сверху