[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с циклом
Renden
С наступившим вас smile.gif
Ребят, есть проблема, незнаю как такое можно реализовать.
Есть запрос в базу, из него цикл, в базе айди пользователей, вывод обьединяет таблицы и получаеться несколько раз вывод пользователя с таким же ИД.
Проблема в том что нужно приравнять ID пользователя к цифре начинающийся с 0-ля, или просто чтоб было отдельная переменная с числами приравнеными к пользователю. Т.е
Цитата
Цикл выводит: $row['id'], $row['name']
1 Вася
2 Петя
2 Петя
5 Леша
7 Витя
7 Витя
7 Витя

Цитата
А мне надо: $i, $row['name']
0 Вася
1 Петя
1 Петя
3 Леша
4 Витя
4 Витя
4 Витя

Ну колличество строк мы можем получить чтоб от него сделать цикл for но, когда цикл видит что пользователь один и тотже он не прибавлял значение $i а оно было такимже как в прошлый раз.
Как так сделать?)



Спустя 15 минут, 38 секунд (11.01.2011 - 14:29) sharki написал(а):
Код в студию, гадалок не вызывали =)

Спустя 17 минут, 24 секунды (11.01.2011 - 14:46) Renden написал(а):
sharki
хм.. а нафиг код, я думал совета спросить как сделать..ну ладно вот код:

$query = mysql_query("SELECT * FROM holiday left join users on users.id=user_id left join hol_status on holiday.hol_status=hol_status.hol_status_id $addq");
while ($row = mysql_fetch_assoc($query)) {
$activity = new GanttBar($row['id'],$row['username'],$row['date_begin'],$row['date_end'],"");
$graph->Add($activity);
}
$graph->Stroke();

ну отредактированная часть кода.., заместо $row['id'] мне бы хотелось подставить какраз цифру с 0-ля, кароч то что описано выше.

Спустя 4 минуты, 6 секунд (11.01.2011 - 14:50) sharki написал(а):
У тебя походу с запросом косяк, и обромляй поля таблиц в апострофы.

Спустя 1 минута, 30 секунд (11.01.2011 - 14:52) linker написал(а):
$index = 0;
while ($row = mysql_fetch_assoc($query))
{
$activity = new GanttBar($index,$row['username'],$row['date_begin'],$row['date_end'],"");
$graph->Add($activity);
$index ++;
}

Спустя 3 минуты, 55 секунд (11.01.2011 - 14:56) Renden написал(а):
sharki
linker
Ребят, я конечно признателен, но вы видимо не читали 1 пост..
Цитата

Проблема в том что нужно приравнять ID пользователя к цифре начинающийся с 0-ля

Цитата

когда цикл видит что пользователь один и тотже он не прибавлял значение $i а оно было такимже как в прошлый раз.

В данном случае от linker -а $index.

Спустя 6 минут, 21 секунда (11.01.2011 - 15:02) Renden написал(а):
linker, дабы ты понял что я хочу, твой запрос выведет:
Цитата

0 Вася
1 Петя
2 Петя
3 Леша
4 Витя
5 Витя
6 Витя

а должно быть:
Цитата

0 Вася
1 Петя
1 Петя
3 Леша
4 Витя
4 Витя
4 Витя

Спустя 7 минут, 46 секунд (11.01.2011 - 15:10) linker написал(а):
Эко тебя торкнуло :) Ну так в чем вопрос, можно хотя бы так
$index = -1;
$last_id = 0;
while ($row = mysql_fetch_assoc($query))
{
if ($row['id'] != $last_id)
{
$index ++;
$last_id = $row['id'];
}
$activity = new GanttBar($index,$row['username'],$row['date_begin'],$row['date_end'],"");
$graph->Add($activity);
}

Спустя 9 минут, 25 секунд (11.01.2011 - 15:19) Renden написал(а):
linker,
Огромное спасибо, ты красавчег)
Я даже не думал что все так просто, я уже начал цикл в нутри цикла мутить, спасибо еще раз=)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.