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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод результата сложного SQL запроса 
V
    Опции темы
BuShaRt
Дата 14.9.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Есть на пример запрос из 2-ух таблиц, причем из обоих выделяються одноименные поля name.
Код

SELECT stt_estate.id, stt_estate.name, stt_city.name  FROM stt_estate, stt_city


После получения результата данного запроса, я заношу его в массив $data (допустим).
Проблема заключаеться в том, что я не смогу извлечь данные поля name второй таблицы т.к. в  $data['name'] сохраняеться только один результат.

Как можно извлечь данные не миняя структуры таблицы? 


П.с.: Вопрос в первую очередь теоритический и я сам понимаю, что возможно в данном случае БД не правильно спроектированна.

PM MAIL   Вверх
ewolf
Дата 14.9.2007, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

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



Код

SELECT stt_estate.id, stt_estate.name AS estate_name, stt_city.name AS city_name  FROM stt_estate, stt_city


Обращаться соответственно $data['estate_name'], $data['city_name']
PM MAIL ICQ   Вверх
BuShaRt
Дата 14.9.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



ewolf, 
Создание псивдонимов хорошая идея? спасибо, учту.

Тем не менее мне все равно интересно как докопаться до этого значения на уровне PHP.
PM MAIL   Вверх
dsCode
Дата 14.9.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 1
Всего: 26



BuShaRt, что значит докопаться на уровне PHP? - У Вас два одинаковых поля - не существует массивов с двумя одинаковыми ключами (при создании массива $data) - поэтому надо использовать алиасы (...AS city_name...). Хотя, в принципе, MySQL (если речь о MySQL) должен был добавить индекс к существующему имени - должно было быть name и name1.

Это сообщение отредактировал(а) dsCode - 14.9.2007, 12:44


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
ewolf
Дата 14.9.2007, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 15.8.2006
Где: г. Москва

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



Попробуй использовать не mysql_fetch_array, а mysql_fetch_row и обращаться к полям по индексам.
PM MAIL ICQ   Вверх
skyboy
Дата 14.9.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



... или тот же mysql_fetch_array, но с ключом MYSQL_NUM ...
PM MAIL   Вверх
BuShaRt
Дата 14.9.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



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


 




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


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

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