Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Сокращение запросов в БД
$var="SELECT * FROM `one` where one='".$one[]."' AND two = '".$two[]."' ";
$tree[]=$query->($var);
}
Так вот суть в том, что на основе $one[N] & $two[N] должен делатся запрос (причем не один,а кол-во раз выполн. запроса). Со стороны логики, если кол-во повторов 1-2, то это еще нормально, но если это кол-во > N*10, тогда и БД отправляется в "отпуск". К тому же, $one & $two являются динамическими (был вариант при добавлении в таблицу вставлять текущие данные $one & $two, но никак).
Возможно ли как-то реализовать по-другому, подскажите, пожалуйста ?
LIME
Отправлено: 21 Марта, 2013 - 12:15:43
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
$sql="SELECT * FROM `one` where one='".$var1."' ";
$result=$query->($sql);
while($row=$res->($result)){
$one[]=$row['one'];
$two[]=$query->(SELECT * FROM `two` where one='".$one[]."'");
}
Задача состоит в том, чтобы эффективно реализовать вывод $two, с минимумом запросов. Просто если данных в таблице будет over100, то и запросов будет столько же, а это уже провал.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.