Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2013, 20:15   #1
Миша
Пользователь
 
Регистрация: 13.09.2007
Сообщений: 63
Радость MySql Выбор данных из двух таблиц

Подскажите пожалуйста:
Как вивисты данные из двух таблиц в браузер?

У меня две таблички. В первой таблице (klient) данные о клиенте:

id name tel addres

Во второй (zakaz) данные о товарах которые заказал клиент:

id_klient nazv_tov prise kolichestvo

где id_klient номер клиента из таблички klient

если выбирать данные из двух таблиц одним запросом

$ R = mysql_query ("SELECT klient. * Zakaz. * FROM klient, zakaz WHERE klient.id = zakaz.id)

while ($ row = mysql_fetch_array ($ r, MYSQL_NUM)) {
echo "<table width='100%' border='1'>
<tr>
<td> Клиент № $ row [0] </ td>
<td> $ row [1] </ td>
<td> $ row [2] </ td>
<td> $ row [3] </ td>
<td> $ row [4] </ td>
<td> $ row [5] </ td>
<td> $ row [6] </ td>
<td> $ row [7] </ td>
<td> $ row [8] </ td>
</ Tr>
</ Table> ";
}

То на выходе получаем:

Клиент № 0 Полумисков М.В. 0325553654 Ул. Трр 0 Сапорита пицца 120,80 5
Клиент № 0 Полумисков М.В. 0325553654 Ул. Трр 0 Падрино пицца 100,80 1
Клиент № 0 Полумисков М.В. 0325553654 Ул. Трр 0 Кватро стаджионы пицца 180,80 1

Клиент № 1 Иванов М.В. 0325553654 Ул. Трр 1 Фрутти-ди-маре пицца 130,80 4
Клиент № 1 Иванов М.В. 0325553654 Ул. Трр 1 Капричоза пицца 180,80 1
Клиент № 1 Иванов М.В. 0325553654 Ул. Трр 1 Бианконеве пицца 130,80 4

Но мне нужно вывести их в формате:

Клиент № 0 Полумисков М.В. 0325553654 Ул. Трр
Заказал:
Сапорита пицца 120,80 5
Падрино пицца 100,80 1
Кватро стаджионы пицца 180,80 1

Клиент № 1 Иванов М.В. 0325553654 Ул. Трр
Заказал:
Фрутти-ди-маре пицца 130,80 4
Капричоза пицца 180,80 1
Бианконеве пицца 130,80 4

Как это сделать правильно?



П.С. Если из базы данных выбираются данные которые повторюются многократно то не увеличивает это время запроса?
Возможно лучше сделать два запроса?

Возможно такой вариант работать быстрее?
Например:

$ R1 = mysql_query ("SELECT * FROM zakaz");

while ($ row = mysql_fetch_array ($ r1, MYSQL_NUM)) {
$ Arr [$ row [0]] = $ row [1]. $ Row [2]. $ Row [3];

}

$ R = mysql_query ("SELECT * FROM klient");

while ($ row = mysql_fetch_array ($ r, MYSQL_NUM)) {
echo "<table width='100%' border='1'>
**<tr>
****<td> Клиент № $ row [0] </ td>
****<td> $ row [1] </ td>
****<td> $ row [2] </ td>
****<td> $ row [3] </ td>
**</ Tr>
</ Table> <br> <b> Заказал: </ b> <br> <br>

$ Arr [$ row [0]]

";
}
Миша вне форума Ответить с цитированием
Старый 12.08.2013, 20:34   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

почитайте про LEFT JOIN
ADSoft вне форума Ответить с цитированием
Старый 12.08.2013, 21:31   #3
Миша
Пользователь
 
Регистрация: 13.09.2007
Сообщений: 63
По умолчанию

Меня интересует как эффективнее вивисты данные в браузер
Идеальный вариант был бы если в одном запросе можно было вытащить данные как массив т.е.. примерно так

(
"id" - строка
"name" - строка
"tel" - строка
"addres" - строка
mas[id_klient=>знач.1, nazv_tov=>знач.2, prise=>знач.3, kolichestvo=>знач.4] - массив
) и все в одном запросе

Последний раз редактировалось Миша; 12.08.2013 в 21:33.
Миша вне форума Ответить с цитированием
Старый 12.08.2013, 23:35   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

очень надеюсь что
Цитата:
вивисты == вывести
.... это надо же - 3 ошибки в одном слове
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сверка данных двух таблиц AdminMars Microsoft Office Excel 9 20.08.2013 10:55
Сложный выбор из двух таблиц. Миша SQL, базы данных 2 06.08.2013 20:44
Сбор данных с двух таблиц Рустам SQL, базы данных 0 22.05.2013 07:47
Выбор одинаковых данных из двух таблиц и перенос в третью Рыбёшка Microsoft Office Excel 4 27.08.2012 20:04
Как оптимизировать запрос MySQL с выборкой из двух таблиц. Johnatan SQL, базы данных 6 13.04.2008 03:10