[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Какой уникальный разделитель вы используете?
vuler
В таблице есть разные поля - phone, adress и т.д.
Например пользователь ввел 4 телефона. Нужно в одну ячейку записать 4 телефона с уникальным разделителем. В случаи с телефонами понятно - достаточно будет одного $, но если напимер будет храниться 4 разных текста, где часто встречается $, нужен будет другой разделитель. Какой вы используете? smile.gif
waldicom
Если уж совсем все плохо и нельзя менять структуру данных, то надо не разделять, а сериализировать (или json_encode/decode)

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
sergeiss
vuler, также можно использовать "правильную" БД, например PostgreSQL - там есть тип данных "массив"

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
vital
Если надо хранить 4 телефона одного пользователя, то надо сделать одтедльную таблицу где хранить телефоны пользователей.
По типу user_id|phone.
А не городить ерунду с разделителями.



_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
vuler
Я Mysql использую.
Как вы предлагаете хранить данные, если есть таблица с данными о компаниях.
есть поля phone,sot_phone,icq,skype,email,soc_seti и т.д.
В этих полях может храниться несколько телефонов, icq и тд.
Т.е. вы создаете кучу таблиц отдельных icq,phone и т.д.
Но тогда запрос к серверу будет огромный с left join-ом. Не проще ли вытаскивать из одной таблицы все и потом дербанить поле по разделителю?
vuler
json_encode/decode - как вариант в принципе подходит, чтобы массив гонять в строку и обратно.
waldicom
Цитата (vuler @ 10.06.2014 - 13:37)
Я Mysql использую.
Как вы предлагаете хранить данные, если есть таблица с данными о компаниях.
есть поля phone,sot_phone,icq,skype,email,soc_seti и т.д.
В этих полях может храниться несколько телефонов, icq и тд.
Т.е. вы создаете кучу таблиц отдельных icq,phone и т.д.
Но тогда запрос к серверу будет огромный с left join-ом. Не проще ли вытаскивать из одной таблицы все и потом дербанить поле по разделителю?

Можно и по другому: таблицу с типами контактов (icq, skype. phone, mobile etc) и таблицу с собственно значениями (user_id, contact_type, value).
И нет, не легче. Там будут проблемы с поиском, заменой и удалением.


Цитата (vuler @ 10.06.2014 - 13:44)
json_encode/decode - как вариант в принципе подходит, чтобы массив гонять в строку и обратно.

Да, но очень желательно только тогда, когда действительно нет возможности правильно построить базу.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
sergeiss
Цитата (vuler @ 10.06.2014 - 16:37)
Не проще ли вытаскивать из одной таблицы все и потом дербанить поле по разделителю?

Ну а чего тогда уж мелочиться-то? Доводи до "логического конца". Сделай одно текстовое поле в единственной таблице. В него записывай с помощью JSON данные в любом формате. А в ПХП разбирай на части.
Только потом не задавай вопросы типа "почему БД очень медленно работает" и как тебе ускорить процесс.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
bestxp
Ага и в постгресе нативная уже поддержка json
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.