|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
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 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
почитайте про LEFT JOIN
|
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 | |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
очень надеюсь что
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сверка данных двух таблиц | 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 |