X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Вопрос по Mysql
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 26.12.2010, 4:52; Ответить: MeTaTRoN
Сообщение #1


Завсегдатай
*****

Группа: Active User
Сообщений: 511
Регистрация: 1.9.2008
Из: Таллинн Эстония
Поблагодарили: 63 раза
Репутация:   18  


Возник вопрос, возможно ли сделать под запрос с получением данных в новый массив данных.


То есть например мне нужно сделать запрос в таблицу userlist
SELECT `name` FROM userlist WHERE id_user = '{$user['id_user']}'


Теперь к этому запросу надо сделать под запрос в базу данных, возможно какой то другой конструкцией, например подобие LEFT JOIN, откуда возьмётся 1 строка И занесётся в новый массив получаемого массива, то есть по результату запроса mysql_fetch_assoc будет многомерный массив данных из userlist в основном массиве и один из параметров будет ещё одним массивом?

Заранее всем спасибо.


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
freesoccer
freesoccer
сообщение 26.12.2010, 20:16; Ответить: freesoccer
Сообщение #2


Участник
***

Группа: User
Сообщений: 114
Регистрация: 23.8.2009
Из: Минск
Поблагодарили: 41 раз
Репутация:   8  


SELECT `name` FROM userlist WHERE id_user IN (...подзапрос...)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 26.12.2010, 20:26; Ответить: MeTaTRoN
Сообщение #3


Завсегдатай
*****

Группа: Active User
Сообщений: 511
Регистрация: 1.9.2008
Из: Таллинн Эстония
Поблагодарили: 63 раза
Репутация:   18  


(freesoccer @ 26.12.2010, 20:16) *
SELECT `name` FROM userlist WHERE id_user IN (...подзапрос...)


Разве констукция IN невернёт мне все значения совпадающие по условию с значением в позапросе? И вернёт он их мне в основном массиве.
А должен по принципу
$first = array(

'pervii' => 'erfrf',
'vtoroi' => 'sdcdsc',
'tretii' => array('odin', dva,tri),
'4etvortii' => 'sdcdsc'
);


Сообщение отредактировал MeTaTRoN - 26.12.2010, 20:27


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
freesoccer
freesoccer
сообщение 27.12.2010, 3:29; Ответить: freesoccer
Сообщение #4


Участник
***

Группа: User
Сообщений: 114
Регистрация: 23.8.2009
Из: Минск
Поблагодарили: 41 раз
Репутация:   8  


Хм... Это нереально по идеологии MySQL. Реляционные БД устроены таким образом, что можно выбрать или строку, или часть строки из записи БД, которая соответствует тому или иному условию.
Ваш вариант - юзать отдельные запросы. Выборка в MySQL всегда происходит по какому-либо условию. Т.е. выбрать отчельные ячейки по разным условиям (я так понимаю, Вы именно это хотите) за 1 запрос невозможно. Либо результатом запроса будет NULL. Потренируйтесь на phpmyadmin и выберите для себя оптимальный вариант.
Из опыта: 4 запроса к MySQL иногда являются гораздо меньшим злом, чем один безграмотно составленный запрос, поскольку время его выполнения может превышать время выполнения 4 запросов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FlashBlack
FlashBlack
сообщение 27.12.2010, 3:42; Ответить: FlashBlack
Сообщение #5


Участник
***

Группа: User
Сообщений: 192
Регистрация: 13.8.2008
Из: MINSK
Поблагодарили: 39 раз
Репутация:   10  


А зачем понты??
мини пример на ORM от kohana framework
$table1 = ORM::factory('table_1')->where('blabla', '=', 1)->find_all()->as_array();
$first = $table1;
$table2 = ORM::factory('table_2')->where('blabla', '=', 2)->find_all()->as_array();
$first['tretie'] = $table2;


Переводя на рус яз: Мы делаем 2 запроса к базе, загоняя результаты так, как тебе будет удобно.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MeTaTRoN
MeTaTRoN
Topic Starter сообщение 29.12.2010, 13:00; Ответить: MeTaTRoN
Сообщение #6


Завсегдатай
*****

Группа: Active User
Сообщений: 511
Регистрация: 1.9.2008
Из: Таллинн Эстония
Поблагодарили: 63 раза
Репутация:   18  


(FlashBlack @ 27.12.2010, 2:42) *
А зачем понты??


Зачем же так сразу?

(FlashBlack @ 27.12.2010, 2:42) *
Мы делаем 2 запроса к базе, загоняя результаты так, как тебе будет удобно.



Если бы всё так было просто, как вы говорите, я бы и не парился. Конечно сделать 2 запроса или 1 один, разница есть, но не столь весома, как у меня в случае, скажем так 2 варианта.

1 Вариант 6 запросов, понятно, что никуда не годится.
2 Вариант 1 Запрос, присоединение всех таблиц через LEFT JOIN, а после через класс раскинуть значения по массивам.

Вот оба мне не подходят, так как ресурсоёмкие.
На первый взгляд, второй подходит, это так и есть, но всё таки получать больше 100 значений и раскидывать их на 6 массивов второго уровня и делать это при каждом обновлении страницы, вроде как напряжённо, возможно мне это кажется!

Сообщение отредактировал MeTaTRoN - 29.12.2010, 13:00


--------------------
Программист: PHP, JavaScript, HTML5, HTML5 canvas, CSS, AJAX, jquery, SQL.
Реклама на аниме сайте
Услуги программиста, тема на форуме
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FlashBlack
FlashBlack
сообщение 30.12.2010, 13:29; Ответить: FlashBlack
Сообщение #7


Участник
***

Группа: User
Сообщений: 192
Регистрация: 13.8.2008
Из: MINSK
Поблагодарили: 39 раз
Репутация:   10  


Опишите задачу досконально, помогу.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос по поводу цен на сайте
16 WildWeb8 905 13.5.2018, 17:40
автор: genjnat
Открытая тема (нет новых ответов) Вопрос к тем, кто зарабатывает на недвижимости?
Как заработать на недвижке.?
15 Dross 2735 26.4.2018, 18:26
автор: megachange
Открытая тема (нет новых ответов) Вопрос по сетке сайтов
Стоит ли так делать?
10 asskra 1403 12.4.2018, 22:33
автор: Ancitrus
Открытая тема (нет новых ответов) Вопрос по расингу контента
5 gold15 656 2.4.2018, 19:18
автор: mmkulikov
Открытая тема (нет новых ответов) Вопрос по метрике
3 Bel_Ami 719 6.3.2018, 16:48
автор: richif


 



RSS Текстовая версия Сейчас: 20.5.2018, 16:45
Дизайн