[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с запросом
Страницы: 1, 2
JohnBraxton
Доброго времени суток!

Существует три таблицы из которых пытаюсь выбрать данные. Само строение таблиц и их заполнение во вложении.

Выборку делаю так:



$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
Естественно в Table2 и в Table3 несколько записей соответствующих id Table1. Выбирайте отдельными запросами.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Xpund

while($content = mysqli_fetch_array($result, MYSQLI_ASSOC))
{
echo $content['price'] . "<br>";
}


-----------------------
И ещё вопрос:
t1.* - я так понимаю тут несколько таблиц???

_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
JohnBraxton
Цитата (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
Цитата (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
Цитата (T1grOK @ 17.02.2014 - 10:19)
Естественно в Table2 и в Table3 несколько записей соответствующих id Table1. Выбирайте отдельными запросами.

Дело в том что это тестовый вариант и таблиц намного больше (штук 8).
Я считаю что если делать через отдельные запросы это нагрузка на БД.
JohnBraxton
Наверняка же есть какое то решение... Что бы не громоздить запросы...
T1grOK
Тогда выбирать все в массив, и группировать через PHP необходимым образом. Можно еще с подзапросами GROUP BY и GROUP_CONCAT.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Xpund
Цитата (JohnBraxton @ 17.02.2014 - 10:24)
Цитата (T1grOK @ 17.02.2014 - 10:19)
Естественно в Table2 и в Table3 несколько записей соответствующих id Table1. Выбирайте отдельными запросами.

Дело в том что это тестовый вариант и таблиц намного больше (штук 8).
Я считаю что если делать через отдельные запросы это нагрузка на БД.

Разница небольшая!

_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
T1grOK
Цитата (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
Цитата (T1grOK @ 17.02.2014 - 10:32)
Цитата (JohnBraxton @ 17.02.2014 - 10:24)
Дело в том что это тестовый вариант и таблиц намного больше (штук 8).
Я считаю что если делать через отдельные запросы это нагрузка на БД.

Есть подтверждения существенной нагрузки или это так, разговоры?

Администрация хостинга просить оптимизировать скрипты запросов к БД.
JohnBraxton
Блин может хостера сменить? unsure.gif
Xpund
Цитата (JohnBraxton @ 17.02.2014 - 10:34)
Блин может хостера сменить? unsure.gif

Бери того хостера, где нет ограничений на подключение к БД!

_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
T1grOK
Цитата (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
Цитата (T1grOK @ 17.02.2014 - 10:37)
Цитата (JohnBraxton @ 17.02.2014 - 10:34)
Администрация хостинга просить оптимизировать скрипты запросов к БД.

Так может с индексами проблема?

не не.. все было ровно до тех пор пока не начала рости посещаемость...
Быстрый ответ:

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