Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

19.08.2009, 18:47
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме: 4532332
Репутация:
1196
|
|
PHP код:
$news=mysql_query('select * from `table` where id = "' . $id . '" ')
or die (mysql_error());
$a = mysql_fetch_assoc($news);
$id=$a['id'];
$massiv=explode(',',$id);
for($i=0;$i<=count($massiv);$i++){
echo $massiv[$i].'<br>';
}
|
|
|

19.08.2009, 18:51
|
|
Участник форума
Регистрация: 05.05.2009
Сообщений: 126
Провел на форуме: 226966
Репутация:
8
|
|
спс
|
|
|

19.08.2009, 18:59
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Я бы хранил в отдельной табличке список вида [id_юзера,id_друга] и потом выборка из этой таблички при подготовке данных с лимитом необходимым. Суть в том, чтобы обрабатывать последовательно id френдов и добавлять к выводу/выводить результаты выборки.
|
|
|

19.08.2009, 19:01
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Нахство вы выдумываете ребята. Сразу видно что нормальной практики явно не хватает 
2 restart_05:
Создавай такую таблицу:
Где один кортеж (строка) - один друг.
Т.е. допустим у человека 10 друзей - это будет 10 кортежей.
Так же эти поля будут внешними ключами на таблицу с юзерами.
Вышеприведенный в данном топике вариант имеет кучу недостатков, таких как аномалия удаления, вставки, изменения и тд и тп. Так же при такой структуре ни о какой согласованности в БД не может быть и речи.
Со структурой, которую предложил я - легко работать. Делаешь элементарные запросы на выборку, вставку, удаление и тп, и спишь спокойно.
|
|
|

20.08.2009, 03:20
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
Я бы хранил в отдельной табличке список вида [id_юзера,id_друга] и потом выборка из этой таблички при подготовке данных с лимитом необходимым. Суть в том, чтобы обрабатывать последовательно id френдов и добавлять к выводу/выводить результаты выборки.
Нахство вы выдумываете ребята. Сразу видно что нормальной практики явно не хватает
До тебя это описали,разницы никакой нет.
Вышеприведенный в данном топике вариант имеет кучу недостатков, таких как аномалия удаления, вставки, изменения и тд и тп. Так же при такой структуре ни о какой согласованности в БД не может быть и речи.
А вот первый вариант несмотря на неудобство работы с ним, может оказаться быстрее, когда таблица разрастется.
|
|
|

20.08.2009, 10:09
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Сообщение от qBiN
До тебя это описали,разницы никакой нет.
Разницу во времени видим? Это написали в то время, когда я писал свой пост
Сообщение от qBiN
А вот первый вариант несмотря на неудобство работы с ним, может оказаться быстрее, когда таблица разрастется.
Я б тебя не взял на работу  Представь ситуацию когда тебе надо удалить друга? Или акк друга удален, а тут он остался? (ни о каких ограничениях типа внешний ключ и тп при этой схеме не представляется возможным использовать).
И с какого перепуга ты взял что оно будет быстрее работать? Из за меньшего количества кортежей? Смешно =) Это раз. А два - в том примере как я предложил это будут сплошные индексы... Выводы напрашиваются?
Так же представь себе другой тип запроса. Например найти всех людей, у которых ты находишься в друзьях... представляешь как извращаться придется? То то же. Так что это вообще нежизнеспособно в мало мальски серьезном проекте.
|
|
|

20.08.2009, 13:38
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
Я б тебя не взял на работу
Очень рад за тебя.
Представь ситуацию когда тебе надо удалить друга?
Разучились со строками работать? А типа неудобно и прочее - так простой класс написать.
Или акк друга удален, а тут он остался?
cron + cleanup скриптик.
И с какого перепуга ты взял что оно будет быстрее работать? Из за меньшего количества кортежей?
выборка твоих друзей будет быстрее, это однозначно, а вот выборка у кого ты в друзьях будет намного медленее.
я смотрю ты крутой дядька.
Например найти всех людей, у которых ты находишься в друзьях... представляешь как извращаться придется?
Ну да, об этом я уже написал.
Так что это вообще нежизнеспособно в мало мальски серьезном проекте.
Несогласен.( в данном премере конечно лучше не использовать этот вариант)
Например в ситуации когда числа описывают какие-то настройки у пользователя(типа вкл,выкл) тогда наврятли тебе понадобится выбирать всех юзверей у кого включена та или иная опция,поэтому уместно использовать. Если создавать еще одну таблицу с опциями то количество запросов к базе увеличится,сама база разрастется, а твой проект загнется от 10к народу(представляешь сколько настроек может быть у одного пользователя?)))
Разницу во времени видим? Это написали в то время, когда я писал свой пост
А теперь модераторов уже не учат за постами следить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|