JohnBraxton
17.02.2014 - 14:13
Доброго времени суток!
Существует три таблицы из которых пытаюсь выбрать данные. Само строение таблиц и их заполнение во вложении.
Выборку делаю так:
$sql = "SELECT t1.*, t2.price, t3.data FROM table1 AS t1
LEFT JOIN table2 AS t2 ON t1.id = t2.tid
LEFT JOIN table3 AS t3 ON t1.id = t3.tid
";
if (!$result = mysqli_query($db, $sql)){exit (mysqli_error($db));}
$content = mysqli_fetch_array($result, MYSQLI_ASSOC);
do{
echo $content[price]."<br>";
} while($content = mysqli_fetch_array($result, MYSQLI_ASSOC))
В итоге я получаю дублирующий результат:
цена 1
цена 1
цена 2
цена 2
цена 3
цена 3Помогите пожалуйста.
T1grOK
17.02.2014 - 14:19
Естественно в Table2 и в Table3 несколько записей соответствующих id Table1. Выбирайте отдельными запросами.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
while($content = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
echo $content['price'] . "<br>";
}
-----------------------
И ещё вопрос:
t1.* - я так понимаю тут несколько таблиц???
_____________
минус, конечно, иногда полезен, но
плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
JohnBraxton
17.02.2014 - 14:21
Цитата (Xpund @ 17.02.2014 - 10:19) |
while($content = mysqli_fetch_assoc($result, MYSQLI_ASSOC)) { echo $content['price'] . "<br>"; } |
Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in...
T1grOK
17.02.2014 - 14:23
Цитата (Xpund @ 17.02.2014 - 10:19) |
while($content = mysqli_fetch_assoc($result, MYSQLI_ASSOC)) { echo $content['price'] . "<br>"; } |
От этого строк меньше не станет ;)
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
JohnBraxton
17.02.2014 - 14:24
Цитата (T1grOK @ 17.02.2014 - 10:19) |
Естественно в Table2 и в Table3 несколько записей соответствующих id Table1. Выбирайте отдельными запросами. |
Дело в том что это тестовый вариант и таблиц намного больше (штук 8).
Я считаю что если делать через отдельные запросы это нагрузка на БД.
JohnBraxton
17.02.2014 - 14:26
Наверняка же есть какое то решение... Что бы не громоздить запросы...
T1grOK
17.02.2014 - 14:27
Тогда выбирать все в массив, и группировать через PHP необходимым образом. Можно еще с подзапросами GROUP BY и GROUP_CONCAT.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Цитата (JohnBraxton @ 17.02.2014 - 10:24) |
Цитата (T1grOK @ 17.02.2014 - 10:19) | Естественно в Table2 и в Table3 несколько записей соответствующих id Table1. Выбирайте отдельными запросами. |
Дело в том что это тестовый вариант и таблиц намного больше (штук 8). Я считаю что если делать через отдельные запросы это нагрузка на БД.
|
Разница небольшая!
_____________
минус, конечно, иногда полезен, но
плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
T1grOK
17.02.2014 - 14:32
Цитата (JohnBraxton @ 17.02.2014 - 10:24) |
Дело в том что это тестовый вариант и таблиц намного больше (штук 8). Я считаю что если делать через отдельные запросы это нагрузка на БД. |
Есть подтверждения существенной нагрузки или это так, разговоры?
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
JohnBraxton
17.02.2014 - 14:34
Цитата (T1grOK @ 17.02.2014 - 10:32) |
Цитата (JohnBraxton @ 17.02.2014 - 10:24) | Дело в том что это тестовый вариант и таблиц намного больше (штук 8). Я считаю что если делать через отдельные запросы это нагрузка на БД. |
Есть подтверждения существенной нагрузки или это так, разговоры?
|
Администрация хостинга просить оптимизировать скрипты запросов к БД.
JohnBraxton
17.02.2014 - 14:34
Блин может хостера сменить?
Цитата (JohnBraxton @ 17.02.2014 - 10:34) |
Блин может хостера сменить? |
Бери того хостера, где нет ограничений на подключение к БД!
_____________
минус, конечно, иногда полезен, но
плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
T1grOK
17.02.2014 - 14:37
Цитата (JohnBraxton @ 17.02.2014 - 10:34) |
Администрация хостинга просить оптимизировать скрипты запросов к БД. |
Так может с индексами проблема?
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
JohnBraxton
17.02.2014 - 14:38
Цитата (T1grOK @ 17.02.2014 - 10:37) |
Цитата (JohnBraxton @ 17.02.2014 - 10:34) | Администрация хостинга просить оптимизировать скрипты запросов к БД. |
Так может с индексами проблема?
|
не не.. все было ровно до тех пор пока не начала рости посещаемость...
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.