[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 2 запроса и сортировка
Гость_Игорь
Есть 2 запроса к скуль базе. В одном получаем поля "name" и "pos" из таблицы data, а во втором "tittle" и "pos" из таблицы base. Мне необходимо отсортировать полученные данные по полям "pos", но не для каждой выборки отдельно а для 2х вместе.



Спустя 4 минуты, 54 секунды (18.08.2011 - 18:28) neadekvat написал(а):
Покажи запросы.

Спустя 50 минут, 40 секунд (18.08.2011 - 19:18) Гость_Игорь написал(а):
$zaprosleft1 = mysql_query("SELECT name, pos FROM data");
$resultleft1 = mysql_fetch_array($zaprosleft1);

$zaprosleft2 = mysql_query("SELECT tittle, pos FROM base");
$resultleft2 = mysql_fetch_array($zaprosleft2);

Спустя 36 минут, 22 секунды (18.08.2011 - 19:55) neadekvat написал(а):
Как строки в таблицах связаны?

Спустя 30 минут, 58 секунд (18.08.2011 - 20:26) Гость_Игорь написал(а):
Цитата
Как строки в таблицах связаны?

Не уверен что правильно понял вопрос. Но вроде никак. Это 2 никак не связанные таблицы

Спустя 17 минут, 19 секунд (18.08.2011 - 20:43) neadekvat написал(а):
Тогда как ты их хочешь "вместе" сортировать, если это несвязанные таблицы? По какому принципу ты бы их сортировал, если бы делал это вручную, спрошу так. Еще проще: какой результат ты хочешь получить (приведи пример данных в таблицах и то, что хочешь увидеть на экране в результате)?

Спустя 12 минут, 38 секунд (18.08.2011 - 20:55) Guest написал(а):
date
name pos
Игорь 2
Олег 5
Федор 6

base
tittle pos
Книга 1
тетрадь 3
лист 4

в отсортированном виде хочу получить
Книга 1
Игорь 2
тетрадь 3
лист 4
Олег 5
Федор 6

Спустя 8 минут, 2 секунды (18.08.2011 - 21:04) neadekvat написал(а):
оО Ого. Бредом начало попахивать.
Возможно, есть смысл объединить таблицы, ибо выглядит ужасно. Это нарушение всякой логики и нормальных форм.

А сортировать придется в самом php.

Спустя 7 минут, 9 секунд (18.08.2011 - 21:11) Гость_Игорь написал(а):
В том и проблема что задача не тривиальна, предполагается что в 1 таблице у меня будет храниться информация для блоков "меню" а в другой для блоков "статистик" (т.е данные разные и объединить их в 1 таблицу нельзя). И мне нужно вывести эти блоки по порядку сначала тот у которого pos=1 потом pos=2 и т.д. Подскажите хотя бы в какую сторону искать.

Спустя 19 минут, 35 секунд (18.08.2011 - 21:30) neadekvat написал(а):
Я уже сказал:

Цитата (neadekvat @ 18.08.2011 - 22:04)
А сортировать придется в самом php.

$arr = array();
$zaprosleft1 = mysql_query("SELECT name, pos FROM data");
while($resultleft1 = mysql_fetch_array($zaprosleft1))
$arr[$zaprosleft1['pos']] = $resultleft1;

$zaprosleft2 = mysql_query("SELECT tittle, pos FROM base");
while($resultleft2 = mysql_fetch_array($zaprosleft2))
$arr[$zaprosleft2['pos']] = $resultleft2;


Затем сортируешь по ключам и выводишь. Вообще, все это большие извращения, которые перестанут работать, будь хоть шажок в сторону от существуещей схемы (например, появятся два одинаковых pos).
Быстрый ответ:

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