woowap
Новичок
Здравствуйте! Я как то раз слышал, от одного программиста, что жоинами в mysql лучше не пользоваться,что лучше использовать несколько циклов и т.п., вот я не могу разобраться, если есть знающие, хорошо понимающие, подскажите пожалуйста, вот внизу код:
как по вашему лучше, использовать так, или же сделать это одним запросом в JOINE
Код:
// собираем иды, куда я подписан и новые сообщения в них
$q = mysql_query("SELECT `theme_id`, `new_msg` FROM `forum_follow` WHERE `user_id` = '$user_id' LIMIT {$n->start()}, 10");
while($res = mysql_fetch_assoc($q))
{
$theme_ids[] .= $res['theme_id'];
$new_msg_theme[$res['theme_id']] = $res['new_msg'];
}
// собираем темы, по идам, которые собрали выше, с подписок
$q = mysql_query("SELECT `user_id`, `theme_id`, `name`, `forum_id`, `count_msg`, UNIX_TIMESTAMP(date) date FROM `forum_themes` WHERE `theme_id` IN(" . implode(',', $theme_ids) . ")");
while($res = mysql_fetch_assoc($q))
{
$user_ids[] .= $res['user_id'];
$theme_data[] = $res;
}
// берем данные юзеров, которые создали эти темы
$q = mysql_query("SELECT `user_id`, `login`, `color` FROM `users` WHERE `user_id` IN (" . implode(',', $user_ids) . ")");
while($res = mysql_fetch_assoc($q))
{
$user_data[$res['user_id']] = $res;
}
foreach($theme_data as $res)
{
// тут все уже выводится
}