[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как вывести строки с двух таблиц по очереди
Markus111
Здравствуйте.
Есть две таблицы А(id,name) и Б(id,name).
Как вывести с этих таблиц в таком виде:
1 А(id1,name1)
2 Б(id1,name1)
3 А(id2,name2)
4 Б(id2,name2)
.
.
.
n
И так чтобы от номера id не зависело, а то могут удалятся записи.
Спасибо за поиощь



Спустя 3 минуты, 57 секунд (14.04.2012 - 13:20) johniek_comp написал(а):
двумя while-лами можно

Спустя 7 минут, 51 секунда (14.04.2012 - 13:27) sergeiss написал(а):
Цитата (Markus111 @ 14.04.2012 - 14:16)
Есть две таблицы А(id,name) и Б(id,name).
Как вывести с этих таблиц в таком виде:

Лучше, я думаю, построить запрос правильно к этим таблицам. Правильно "сджойнить" и всё ОК.

Спустя 8 минут, 34 секунды (14.04.2012 - 13:36) Markus111 написал(а):
А как правильно "сджойнить", какая должна быть зависимость

Спустя 31 минута, 22 секунды (14.04.2012 - 14:07) Markus111 написал(а):
Джойном у меня не получается потому что эти две таблицы не связаны друг с другом полем. А чередовать вывод надо

Спустя 24 минуты, 15 секунд (14.04.2012 - 14:32) dadli написал(а):
Markus111

как варянт

mysqli_query($db,"SET @n1 = 1");
mysqli_query($db,"SET @n2 = 2");

mysqli_query($db,
"(SELECT id ,name, @n1:=@n1 + 2 AS n FROM A ORDER BY id)
UNION
(SELECT id ,name,@n2:=@n2 + 2 AS n FROM B ORDER BY id)
ORDER BY n
"
)

Спустя 7 минут, 44 секунды (14.04.2012 - 14:39) Markus111 написал(а):
выводит

Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in Z:\home\localhost\www\COMANDES\select.php on line 52
что надо изменить

Спустя 12 минут, 9 секунд (14.04.2012 - 14:52) Markus111 написал(а):
Разобрался, код работает. А в PDO как его внедрить

Спустя 2 минуты, 35 секунд (14.04.2012 - 14:54) dadli написал(а):
я PDO не знаю

Спустя 1 минута, 30 секунд (14.04.2012 - 14:56) Markus111 написал(а):
Спасибо за помощь, уже внедрил в PDO

Спустя 21 минута, 43 секунды (14.04.2012 - 15:17) Markus111 написал(а):
Еще один момент. Как с первой таблицы вытащить еще и картинку, а во второй нет

Спустя 4 минуты, 57 секунд (14.04.2012 - 15:22) dadli написал(а):
Markus111
в первом подзапросе, в виражение SELECT добавте поле, где сохраняется путь к картинке
а втаром подзапросе добавте просто ' '

Спустя 4 минуты, 14 секунд (14.04.2012 - 15:26) Markus111 написал(а):
Вопрос. Почему наоборот не работает?

Спустя 6 минут, 50 секунд (14.04.2012 - 15:33) dadli написал(а):
наоборот ? то есть? что ви имеете ввиду не понял

Спустя 5 минут, 6 секунд (14.04.2012 - 15:38) Markus111 написал(а):
В первом запросе ' ', во втором картинку

Спустя 3 минуты, 33 секунды (14.04.2012 - 15:42) dadli написал(а):
должен работать, вот
(SELECT id ,name, '',  @n1:=@n1 + 2 AS n FROM A ORDER BY id)
UNION
(SELECT id ,name, pole_kartinki, @n2:=@n2 + 2 AS n FROM B ORDER BY id)
ORDER BY n

Спустя 11 минут, 49 секунд (14.04.2012 - 15:54) Markus111 написал(а):
У меня тогда pole_kartinki не выводит, а id ,name выводит. Ну да ладно это не важно какую таблицу первой выводить, просто для интереса.

Спустя 5 минут, 19 секунд (14.04.2012 - 15:59) dadli написал(а):
конечно какои попдзапрос перви, какои втарои не вляет на резултате, но обе варянт должен работать, ви где то ошибаитест


_____________
Womans in your town
Быстрый ответ:

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