Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Выборка из БД (Сергей Потехин)
Author Message
Сергей Потехин
Участник форума



Joined: 25 Aug 2003
Posts: 178
Карма: 0
   поощрить/наказать

Location: Забайкалье, Чита

PostPosted: Mon Jan 02, 2006 9:04 am (написано за 3 минуты 38 секунд)
   Post subject: Выборка из БД
Reply with quote

Здравствуйте!
Существует некоторый запрос в БД.
После чего вся полученная информация выводится циклом for.
Но в некоторых столбцах информация повторяется. Следовательно ее выводить нет смысла.
Как определить повторяемость чего либо в цикле и запретить ему выводить уже имеющуюся по определенному слобцу?
Например переменные определяются так:
Code (php): скопировать код в буфер обмена
  $id = mysql_result (www.php.net/mysql_result)($prov, $i, "id");
  $gol = mysql_result (www.php.net/mysql_result)($prov, $i, "gol");
Поле id уникальное всегда. А gol может повторяться.
С Ув. Сергей!

P.S. С Новым Годом!

Last edited by Сергей Потехин on Tue Jan 03, 2006 12:02 pm; edited 1 time in total
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Mon Jan 02, 2006 2:18 pm (спустя 5 часов 14 минут; написано за 2 минуты 29 секунд)
   Post subject:
Reply with quote

Не совсем ответ на Ваш вопрос, но:
1) Вы можете явно в запросе перечислить нужные Вам поля?
2) почему бы не использовать
Code (php): скопировать код в буфер обмена
mysql_fetch_assoc (www.php.net/mysql_fetch_assoc)()
?
3) как вариант - в конце цикла делать unset() для всех переменных, отведённых под поля. Но имхо это изврат.
Back to top
View user's profile Send private message
Сергей Потехин
Участник форума



Joined: 25 Aug 2003
Posts: 178
Карма: 0
   поощрить/наказать

Location: Забайкалье, Чита

PostPosted: Tue Jan 03, 2006 11:27 am (спустя 21 час 9 минут; написано за 2 минуты 32 секунды)
   Post subject:
Reply with quote

Maus wrote:
1) Вы можете явно в запросе перечислить нужные Вам поля?
Это есть. Но факт в том, что некоторые значения в полях попросту повторяются то есть вот пример:

id name something_else
1 Vasilii 123
2 Vasilii 456
3 Ivan 789


То есть при выборки мы получаем что информация о Vasilii повторяется дважды. А этого быть не должно. В это вся суть ошибки :(
Maus wrote:
почему бы не использовать
Он кажется только одной строки. Я обдумаю это вариант. То есть mysql_fetch_assoc() попробовать запускать в теле цикла?
Maus wrote:
3) как вариант - в конце цикла делать unset() для всех переменных, отведённых под поля. Но имхо это изврат.
А как это может помочь?
Back to top
View user's profile Send private message
Антон Макаренко
Участник форума



Joined: 05 Feb 2004
Posts: 374
Карма: 31
   поощрить/наказать

Location: Киев

PostPosted: Tue Jan 03, 2006 1:41 pm (спустя 2 часа 13 минут; написано за 41 секунду)
   Post subject:
Reply with quote

добавьте в SQL-запрос
Code (SQL): скопировать код в буфер обмена
GROUP BY name
Back to top
View user's profile Send private message Send e-mail
Сергей Потехин
Участник форума



Joined: 25 Aug 2003
Posts: 178
Карма: 0
   поощрить/наказать

Location: Забайкалье, Чита

PostPosted: Tue Jan 03, 2006 5:12 pm (спустя 3 часа 31 минуту; написано за 14 секунд)
   Post subject:
Reply with quote

Антон Макаренко
Воо! Спасибо большое! +1
Back to top
View user's profile Send private message
Константин Жинько [tIT]
Сотрудник «Лаборатории»



Joined: 12 Jun 2004
Posts: 2264
Карма: 106
   поощрить/наказать

Location: Москва

PostPosted: Wed Jan 04, 2006 1:39 am (спустя 8 часов 26 минут; написано за 10 секунд)
   Post subject:
Reply with quote

Граббера читаем, товарищи!
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Fri Jan 06, 2006 5:23 pm (спустя 2 дня 15 часов 44 минуты; написано за 2 минуты 3 секунды)
   Post subject:
Reply with quote

Сергей Потехин
Я неверно истолковал Ваш вопрос. Так что вышесказанное можно проигнорировать.
Сергей Потехин wrote:
id name something_else
1 Vasilii 123
2 Vasilii 456
3 Ivan 789
Антон Макаренко wrote:
Code (SQL): скопировать код в буфер обмена
GROUP BY name
Насколько помню, в something_else будет рандомное значение из сгруппированных строк
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Mar 08, 2006 2:23 pm (спустя 2 месяца 1 день 20 часов 59 минут; написано за 24 секунды)
   Post subject:
Reply with quote

Может быть,

SELECT DISTINCT * ... FROM ...

Это заставляет сервер выдать только уникальные записи.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML