Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2014, 19:02   #1
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
Вопрос Удобный перебор значений

Запрос берет строки из таблицы, с которой связана другая таблица по полю. Т.е. берется одно поле из первой, а из второй может достать 10 полей, которые связаны с table1 по id

table1
id name

table2
id_table2 id name

Как мне удобнее перебрать все результаты? Например, мне нужно посчитать количество строк, которые получило из таблицы1. Через
Код:
 $at=mysql_query($inssa);
for($i=0;$i<mysql_num_rows($at);$i++){
if(mysql_result($at, $i, id)!=$previous){$id=$id+1;}
$previous=mysql_result($at, $i, id);

}
мне нужно делать проверку каждый раз, сравнивая отличается ли id table1 от предыдущего значения в цикле. Подсчет количество id из первой таблицы приведен для примера, мне нужно знать есть ли упрощение без махинации с сравнивания с предыдущим id.
Т.е., например, чтобы сначала шел цикл из уникальных table1.id, а потом перебирало внутри строки, которые с ним связаны
Pamparam вне форума Ответить с цитированием
Старый 20.05.2014, 19:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-то я не пойму... Запрос тебе выдает плоскую таблицу. Количество ее строк ты получаешь через mysql_num_rows($at), так?
Так это разве не то кол-во что тебе нужно?
Можешь сам запрос показать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.05.2014, 20:00   #3
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что-то я не пойму... Запрос тебе выдает плоскую таблицу. Количество ее строк ты получаешь через mysql_num_rows($at), так?
Так это разве не то кол-во что тебе нужно?
Можешь сам запрос показать?
запрос долго вытягивать, там куча всего

Например, мне нужно вывести меню сайта. Есть категории и подкатегории. Если я буду юзать обычный цикл, то каким образом удобнее отделить категорию и подкатегории из одного запроса, т.е. я получу что-то вроде:

id kat_name podkat_name
1 news politic
2 news business
3 news sport
4 info about
5 info sitemap

Соответственно, мне нужно вывести сначала заголовок категории (news,info), а потом пункты в нее входящие, т.е. мне нужно знать когда появляется новая категория, чтобы вывести ее заголовок и только потом перечислять ее пункты.
Т.е. в обычном цикле перебора через mysql_result нужно сравнивать изменился ли номер категории, т.е. в строке с № 4 она изменится, т.к. в 3 была другая и мне нужно этот момент отловить, используя сравнение с предыдущим значением поля "kat_name". Если нужно вывести еще и под-подкатегорию, то махинации еще больше умножаются
Вот я и интересуюсь есть ли средство, чтобы, например, сделать цикл по уникальным значениям поля "kat_name" и потом уже в каждом из них делать цикл по перебору "podkat_name"

Последний раз редактировалось Pamparam; 20.05.2014 в 20:04.
Pamparam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перебор значений и подстановка Red Warrior Microsoft Office Excel 0 06.06.2013 21:00
Перебор значений (DevC++) InquisitorAles Помощь студентам 5 21.11.2010 23:26
Перебор значений таблицы Domain Microsoft Office Excel 2 05.10.2010 05:33
Перебор значений для поиска RailOS Microsoft Office Excel 5 17.06.2010 16:16
Перебор значений genf Microsoft Office Excel 0 18.12.2009 10:56