![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| NOOB |
|
|||
|
Unregistered |
Как будет происходить сортировка если данные взяты из 3 таблиц
Например вот 2 массива: $o=mysql_query("select tovar.creater, model, marka, year_exit, color, opn, reyting from tovar1, cell where tovar.id = cell.tovar"); $e=mysql_query("select prod.name from prod, cell where cell.prod = prod.id"); Оба массива надо отсортировать по creater'у заранее спасиб |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
а почему бы в запросе не отсортировать?
|
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 2 Всего: 42 |
Во втором запросе вообще нет creater'a.
|
|||
|
||||
| NOOB |
|
|||
|
Unregistered |
а как сразу в запросе отсортировать если идет сравнение where tovar.id = cell.tovar по которому он будет выводить данные, или если можно сразу в запросе то как???
|
|||
|
||||
| NOOB |
|
|||
|
Unregistered |
все выглядит так:
echo "<table border=1 width=100% bgcolor=gold>"; echo "<tr><td>Производитель</td><td>Модель</td><td>Марка</td>"; echo "<td>Год выпуска</td><td>Цвет</td><td>Опции</td>"; echo "<td>Рейтинг</td><td>Продавец</td><td>Цена</td><td>Наличие</td></tr>"; $p=mysql_query("select cell.price1, nal from tovar1, cell where cell.tovar = tovar1.id"); $o=mysql_query("select tovar1.creater, model, marka, year_exit, color, opn, reyting from tovar1, cell where tovar1.id = cell.tovar"); $e=mysql_query("select prod.name from prod, cell where cell.prod = prod.id"); for ($i=0; $i<mysql_num_rows($o); $i++) { echo "<tr>"; $g=mysql_fetch_array($e); $d=mysql_fetch_array($p); $v=mysql_fetch_array($o); echo "<td>$v[creater]</td><td>$v[model]</td><td>$v[marka]</td>"; echo "<td>$v[year_exit]</td><td>$v[color]</td>"; echo "<td>$v[opn]</td><td>$v[reyting]</td><td>$g[name]</td><td>$d[price1]<td><td>$d[nal]</td>"; echo "</tr>"; } просто надо чтоб при сортировке сдвигались целые строки |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
|
|||
|
||||
| NOOB |
|
|||
|
Unregistered |
а если надо сортировать не 1 таблицу а массив то как это будет выглядеть??
|
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
а что вы под этим понимаете?
Мне кажится вам нужно просто грамотно составить запрос, а не сортировать массивы. |
|||
|
||||
| NOOB |
|
|||
|
Unregistered |
Надо отсортировать получившуюся таблицу в ходе предыдуших действий.
Но получившаяся таблица в свою очередь состоит из 3 таблиц Tovar, Cell, Prod. Сортировать нужно по creater. Если допустим мы отсортируем таблицу Tovar то как мне кажется остальные таблицы это не изменит. Может я чето не так понимаю.... |
|||
|
||||
| Secandr |
|
||||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
правильно. Но если эти таблицы зависят друг от друга, то лучше получать их в одном запросе, а не трёх разных и сортировать их там же в запросе.
B вообще чем принципиально отличаются:
Это всё точно можно было в одном запросе получить. |
||||
|
|||||
| NOOB |
|
|||
|
Unregistered |
Да но ведь есть еще:
$e=mysql_query("select prod.name from prod, cell where cell.prod = prod.id"); он ведь не будет участвовать в сортировке. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
а каким образом этот запрос привязан к двум предыдущим?
|
|||
|
||||
| NOOB |
|
|||
|
Unregistered |
на экран выводится таблица сост. из 3 таблиц:cell, prod, tovar;
В начале идут данные из tovar, затем из prod, а в конце из cell. Я выложил все чуть выше. А запрос этот привязан: select prod.name from prod, cell where cell.prod = prod.id |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
так сведи их все вместе в один запрос и не мучайся.
|
|||
|
||||
| NOOB |
|
|||
|
Unregistered |
Ну яб не мучался тока я пока не догнал как их в 1 запрос свести, были некоторые попытки но они не увенчались успехом. Кстати как сразу провести сортировку в запросе(через and)? Заранее спасиб.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |