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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неправильный вывод, помогите. Ошибка в логике? пожалста укажите где... 
V
    Опции темы
jzZ
Дата 3.8.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

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



См. тему. Под логикой имел ввиду неправильную связь запроса с выводом.
А вот мой запрос к бд
Код

$query = "SELECT check_ID.ID, application_n1.Date_PAY, application_n1.Adressee, application_n3.P_P,
application_n3.P_P_From, application_n2.Code_Division FROM application_n1, application_n3, application_n2, check_ID";

А это мой нубский вывод данных:
Код

    while($row = mysql_fetch_array($result)) {
 ?>     <tr>
      <td width="29" height="19" class="shit"><div align="center"><?echo($row["ID"]);?></div></td>
      <td class="shit" width="84" height="19"><div align="center"><?echo($row["Date_PAY"]);?></div></td>
      <td class="shit" width="116" height="19"><div align="center"><?echo($row["Adressee"]);?></div></td>
      <td class="shit" width="52" height="19"><div align="center"><?echo($row["P_P"]);?></div></td>
      <td class="shit" width="84" height="19"><div align="center"><?echo($row["P_P_From"]);?></div></td>
      <td class="shit" width="133" height="19"><div align="center"><?echo($row["Code_Division"]);?></div></td>
      <td class="shit" width="47" height="19"><div align="center">ñòàòóñ</div></td>
      <td class="shit" width="84" height="19"><div align="center">ïðèìå÷àíèå</div></td>
      <td class="shit" width="47" height="19"><div align="center">action</div></td>
      </tr>
<?}


Я ввел в каждую таблицу по три записи, чтобы проверить, в ответ получаю огромную кучу строк в таблицах, т.е. вместо трех требуемых <tr></tr>, получил 162 строки ) т.е. каждый id выводил повторяющиеся данные 54 раза (т.е. 54 <tr></tr>)
Не могу понять в чем проблема, заранее благодарен.
PM MAIL   Вверх
jzZ
Дата 3.8.2006, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

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



:::удалил:::глупость:::

Это сообщение отредактировал(а) jzZ - 3.8.2006, 22:16
PM MAIL   Вверх
GiV
Дата 3.8.2006, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 13.7.2006
Где: rus|53

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



У Вас произведение таблиц, а не соединение или объединение.

Приведите структуру таблиц (можно с частичным наполнением) и тогда уже можно будет составить правильный запрос.
PM MAIL WWW ICQ   Вверх
jzZ
Дата 3.8.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

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



Да структура тупая, я в БД ничего не соображаю... Но если это как то поможет.
user posted image
PM MAIL   Вверх
skyboy
Дата 3.8.2006, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



обалдеть. и как можно определить, какие данные требуется получить запросом? 
PM MAIL   Вверх
jzZ
Дата 3.8.2006, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

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



skyboy
Ты невнимательно посмотрел 1 пост, там в запросе все видно и в хтмл коде к-рый на вывод.

Добавлено @ 23:36 
Никаких связей в бд нет...

Добавлено @ 23:49 
На всякий случай еще раз данные что мне нужны
check_ID.ID
application_n1.Date_PAY
application_n1.Adressee
application_n3.P_P
application_n3.P_P_From
application_n2.Code_Division
PM MAIL   Вверх
skyboy
Дата 4.8.2006, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(jzZ @  3.8.2006,  23:35 Найти цитируемый пост)
Ты невнимательно посмотрел 1 пост, там в запросе все видно и в хтмл коде к-рый на вывод.

Если бы тот запрос действительно соответствовал бы тому, что ты отел получить, ты бы и получил желаемое. А определеять по некорректному запросу то, что человек ожидал - гиблое дело. Кроме перечисления полей укажи, как связывать таблицы. Что чему равно и т.д..
PM MAIL   Вверх
jzZ
Дата 4.8.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

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



Цитата

Добавлено @ 23:36 
Никаких связей в бд нет...

От этого запроса хочу получить только значения этих полей чтобы потом вывести их в цикле. Ничего ничему не равно! Только значения

Это сообщение отредактировал(а) jzZ - 4.8.2006, 11:49
PM MAIL   Вверх
skyboy
Дата 4.8.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



тогда отдельно получай данные из каждой таблицы.

Добавлено @ 12:10 
если у тебя в таблице А два числа 1 и 2, а в таблице В - две буквы: "А" и "Б", то 
Код

SELECT A.some,B.some FROM A,B

Выдаст тебе не
1 А
2 Б
а все возможные комбинации:
1 А
1 Б
2 А 
2 Б
Это называется декартовым произведением. Потому, если тебе надо только по одному значению, но таблицы между собой никак не связаны(что странно - зачем тогда один запрос использовать для выдачи никак не связанной между собой информации?!), то выбирай отдельными запросами. 
PM MAIL   Вверх
jzZ
Дата 4.8.2006, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

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



Цитата

тогда отдельно получай данные из каждой таблицы.

А можно как то в один запрос запихнуть?
PM MAIL   Вверх
skyboy
Дата 4.8.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



на моём примере с буквами и цифрами покажи, что ты ожидаешь получить:
1 А
2 В
или
1 В
2 А
и поясни, как сделать, чтоб выбор был очевиден. 
Ответ: нет. При такой постановке вопроса(абсолютно несвязанные данные из разных таблиц, скомпонованные в одну строку) получить результат невозможно.
PM MAIL   Вверх
jzZ
Дата 4.8.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

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



Цитата

Ответ: нет. При такой постановке вопроса(абсолютно несвязанные данные из разных таблиц, скомпонованные в одну строку) получить результат невозможно.

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


 




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


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

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