Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка 
:(
    Опции темы
NOOB
Дата 16.7.2004, 11:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 16.7.2004, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



а почему бы в запросе не отсортировать?


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
HalkaR
Дата 16.7.2004, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 2
Всего: 42



Во втором запросе вообще нет creater'a.
PM MAIL   Вверх
NOOB
Дата 16.7.2004, 11:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











а как сразу в запросе отсортировать если идет сравнение where tovar.id = cell.tovar по которому он будет выводить данные, или если можно сразу в запросе то как???
  Вверх
NOOB
Дата 16.7.2004, 12:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 16.7.2004, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Код
ORDER BY table_name.colum_name



--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
NOOB
Дата 16.7.2004, 12:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











а если надо сортировать не 1 таблицу а массив то как это будет выглядеть??
  Вверх
Secandr
Дата 16.7.2004, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



а что вы под этим понимаете?


Мне кажится вам нужно просто грамотно составить запрос, а не сортировать массивы.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
NOOB
Дата 16.7.2004, 13:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Надо отсортировать получившуюся таблицу в ходе предыдуших действий.
Но получившаяся таблица в свою очередь состоит из 3 таблиц Tovar, Cell, Prod. Сортировать нужно по creater. Если допустим мы отсортируем таблицу Tovar то как мне кажется остальные таблицы это не изменит. Может я чето не так понимаю....
  Вверх
Secandr
Дата 16.7.2004, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



правильно. Но если эти таблицы зависят друг от друга, то лучше получать их в одном запросе, а не трёх разных и сортировать их там же в запросе.

B вообще чем принципиально отличаются:
Код
select cell.price1, nal from tovar1, cell where cell.tovar = tovar1.id
и
Код
select tovar1.creater, model, marka, year_exit, color, opn, reyting from tovar1, cell where tovar1.id = cell.tovar

Это всё точно можно было в одном запросе получить.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
NOOB
Дата 19.7.2004, 06:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да но ведь есть еще:
$e=mysql_query("select prod.name from prod, cell where cell.prod = prod.id");
он ведь не будет участвовать в сортировке.

  Вверх
Secandr
Дата 19.7.2004, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



а каким образом этот запрос привязан к двум предыдущим?


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
NOOB
Дата 19.7.2004, 09:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











на экран выводится таблица сост. из 3 таблиц:cell, prod, tovar;
В начале идут данные из tovar, затем из prod, а в конце из cell.
Я выложил все чуть выше.
А запрос этот привязан: select prod.name from prod, cell where cell.prod = prod.id
  Вверх
Secandr
Дата 19.7.2004, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



так сведи их все вместе в один запрос и не мучайся.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
NOOB
Дата 19.7.2004, 11:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну яб не мучался тока я пока не догнал как их в 1 запрос свести, были некоторые попытки но они не увенчались успехом. Кстати как сразу провести сортировку в запросе(через and)? Заранее спасиб.
  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0724 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.