Rodent
Новичок
Вывод результатов (турниная таблица)
Имеется таблица с названием и результатом игры (время).
команда а - 01:40:45
команда б - 01:58:02
команда в - 01:58:02
команда г - 02:05:22
команда д - 02:05:22
команда е - 01:10:18
Мне нужно вывести таблицу с результатами
1 место - команда а
2 место - команда б, команда в
3 место - команда г, команда д
4 место - команда е
Пробовал хуже множество вариантов, один хуж другого и где-нить постоянно косяк.
один из вариантов: временная переменная (буфер)
запрос с temp - переменной, выбираем определенную игру, т.к. их может быть много. сортирует. внутри данного запроса, присваиваем определенной переменной - время , а другой - название команды, и при следующем проходе цикла сверяет время с предыдущим временем, если нет совпадения, печатает предыдущий результат, если есть, совпадение. дописывает данную команду к предыдущей.
глюки: здесь начинается с пустой строки, и нет последней строчки
второй из вариантов: в два запроса
глюки: дублирует список команд с одинаковвым временем, некоторых вообще нет...
Я практически на 90% уверен что мыслю не в том направлении. поэтому теперь и обратился сюда. Помогите советом.
спасибо.
Имеется таблица с названием и результатом игры (время).
команда а - 01:40:45
команда б - 01:58:02
команда в - 01:58:02
команда г - 02:05:22
команда д - 02:05:22
команда е - 01:10:18
Мне нужно вывести таблицу с результатами
1 место - команда а
2 место - команда б, команда в
3 место - команда г, команда д
4 место - команда е
Пробовал хуже множество вариантов, один хуж другого и где-нить постоянно косяк.
один из вариантов: временная переменная (буфер)
запрос с temp - переменной, выбираем определенную игру, т.к. их может быть много. сортирует. внутри данного запроса, присваиваем определенной переменной - время , а другой - название команды, и при следующем проходе цикла сверяет время с предыдущим временем, если нет совпадения, печатает предыдущий результат, если есть, совпадение. дописывает данную команду к предыдущей.
PHP:
$sql = "запрос списка команд со временем";
$result = mysql_query($sql) or die("Error: ".mysql_error());
for ($i=0; $i<mysql_num_rows($result); $i++):
$r = mysql_fetch_array($result);
if ($time == $r["result"]):
$team .= "<br>".$r["team"];
else:
echo 'вывод';
$team = ""; // очищаем
$time = $r["result"]; // новое время для сравнения
endif;
endfor;
второй из вариантов: в два запроса
PHP:
$result = запрос всех команд в игре со временем
for ($j=0; $j<mysql_num_rows($result); $j++):
$r = mysql_fetch_array($result);
$sql = запрос кол-ва команд с одиноковым временем r[time]
$result2 = mysql_query($sql);
$num = mysql_num_rows($result2);
while ($r2 = mysql_fetch_array($result2)) {
echo 'вывод списка';
}
$j = $j+$num-1; // типа чтобы пропустить те котроые уже посчитали...
endfor;
Я практически на 90% уверен что мыслю не в том направлении. поэтому теперь и обратился сюда. Помогите советом.
спасибо.