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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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


То есть например мне нужно сделать запрос в таблицу 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


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


(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


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


А зачем понты??
мини пример на 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


(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


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

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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Открытая тема (нет новых ответов) Вопрос - платное размещение баннеров на сайте
10 WGN 3184 14.12.2020, 14:20
автор: Peterson
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
4 DFService 3351 8.4.2020, 18:02
автор: DFService
Открытая тема (нет новых ответов) Вопрос по рекламе в "инстаграме"
Только активные аккаунты могут создавать или редактировать рекламу
8 Zubkov 16049 17.1.2020, 17:49
автор: Forumacc
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВопрос-ответ о работе форума
307 dos1k 43322 9.11.2019, 17:59
автор: heks


 



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