Вывожу в цикле табличку, данные которой находится в БД. Так вот, суть очень простая, цикл выводит мне 16 табличек в которой находятся, 16 команд. Периодически они будут меняться местами, одна выше а другая ниже. Это я реализовал с помощью запроса к БД на отбор по кол-ву очков.
А вот суть проблемы:
В цикле вывожу место команды: например
1) Команда А
2) Команда Б
У меня конечно получается
1) Команда А
1) Команда Б
ибо он повторяет единицу, как сделать что бы он по порядку выставил в запросе места команд?
Подскажите или помогите :\
Спустя 38 минут, 46 секунд (6.06.2011 - 23:55) Игорь_Vasinsky написал(а):
в SQL запросе допиши в конце:
для начала почитай про SORT BY
ASC - сортировка по возрастанию
DESC - по убыванию
cell - поле по которому сортируешь.
SORT BY `cell` ASC
для начала почитай про SORT BY
ASC - сортировка по возрастанию
DESC - по убыванию
cell - поле по которому сортируешь.
Спустя 9 минут, 40 секунд (7.06.2011 - 00:04) aveBen написал(а):
Спасибо за информацию, но Вы видимо не поняли, сути моей проблемы..
У меня сортировка идет нормально, команды выводятся по наибольшему кол-ву очков. Вот пример того, что я сейчас имею.
(м) (к) (и) (п) (н) (п) (голы) (очки)
1 Team A 15 10 4 1 39:25 23
1 Team B 15 13 0 2 55:25 17
1 Team C 15 1 4 10 21:43 13
Все данные, кроме (м) - Место выводятся из БД циклом. Но задать в БД место я не могу, ибо оно будет присвоено команде а мне нужно что бы место сортировались так:
(м) (к) (и) (п) (н) (п) (голы) (очки)
1 Team A 15 10 4 1 39:25 23
2 Team B 15 13 0 2 55:25 17
3 Team C 15 1 4 10 21:43 13
4
5
.....
Итог: все выводится нормально, кроме ячеек с местом команды.
У меня сортировка идет нормально, команды выводятся по наибольшему кол-ву очков. Вот пример того, что я сейчас имею.
(м) (к) (и) (п) (н) (п) (голы) (очки)
1 Team A 15 10 4 1 39:25 23
1 Team B 15 13 0 2 55:25 17
1 Team C 15 1 4 10 21:43 13
Все данные, кроме (м) - Место выводятся из БД циклом. Но задать в БД место я не могу, ибо оно будет присвоено команде а мне нужно что бы место сортировались так:
(м) (к) (и) (п) (н) (п) (голы) (очки)
1 Team A 15 10 4 1 39:25 23
2 Team B 15 13 0 2 55:25 17
3 Team C 15 1 4 10 21:43 13
4
5
.....
Итог: все выводится нормально, кроме ячеек с местом команды.
Спустя 7 минут, 50 секунд (7.06.2011 - 00:12) Игорь_Vasinsky написал(а):
Делай при выводе, не тереби для этого БД
$counts - колво строк(команд) в таблице
или удобней так (но смысл такой же)
есть ещё вариант с do..while (у Попова, но ты к нему не ходи)
$counts - колво строк(команд) в таблице
$i = 0;
while($counts)
{
//Вот это подставляешь в <td> - где вывод мест
echo $i++;
}
или удобней так (но смысл такой же)
for($i = 0; $i = $counts; $i++)
{
echo $i;
}
есть ещё вариант с do..while (у Попова, но ты к нему не ходи)
Спустя 5 минут, 32 секунды (7.06.2011 - 00:18) Игорь_Vasinsky написал(а):
и тема то называется "Цикл".... старею

Спустя 1 минута, 14 секунд (7.06.2011 - 00:19) waldicom написал(а):
mysql_query("select @counter := 0");
$result = mysql_query("SELECT name, @counter := @counter +1 AS rank FROM teams");
while($row = mysql_fetch_assoc($result)){
echo $row['name'] . ' -> ' . $row['rank'] . '<br/>';
}
конечно надо подставить свои поля и название таблицы, но идея в таком направлении.
Спустя 3 минуты, 47 секунд (7.06.2011 - 00:23) Игорь_Vasinsky написал(а):
не встречал подобный синтаксис
Спустя 1 минута, 10 секунд (7.06.2011 - 00:24) aveBen написал(а):
Чет я либо не понял, либо уже поздно :\
Вот мой код и он уже с циклом do/while:
Как-то так. И куда мне вставить сам скрипт? Вывод то я знаю где должен быть :)
Вот мой код и он уже с циклом do/while:
<?php
$active_players_gk = mysql_query("SELECT team,games,win,draw,lost,goals_culler_missing,points FROM tournament_tb ORDER BY points DESC",$db);
if (!$active_players_gk)
{
echo "<p>Запрос не вышел.
<br><strong>Ошибка:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows($active_players_gk) > 0)
{
$active_players_gk_result = mysql_fetch_array($active_players_gk);
do
{
printf ("<table align='center' class='table_tournament_t'>
<tr>
<td class='table_tournament_t1'>[SIZE=8]ТУТ МЕСТО КОМАНДЫ</td>
<td class='table_tournament_t2'>%s</td>
<td class='table_tournament_t3'>%s</td>
<td class='table_tournament_t4'>%s</td>
<td class='table_tournament_t5'>%s</td>
<td class='table_tournament_t6'>%s</td>
<td class='table_tournament_t7'>%s</td>
<td class='table_tournament_t8'>%s</td>
</tr>
</table>"[/SIZE],$active_players_gk_result["team"],$active_players_gk_result["games"], $active_players_gk_result["win"],$active_players_gk_result["draw"], $active_players_gk_result["lost"], $active_players_gk_result["goals_culler_missing"],$active_players_gk_result["points"]);
}
while ($active_players_gk_result = mysql_fetch_array($active_players_gk));
}
else
{
echo "<p>В БД пусто.</p>";
exit ();
}
?>
Как-то так. И куда мне вставить сам скрипт? Вывод то я знаю где должен быть :)
Спустя 15 секунд (7.06.2011 - 00:24) waldicom написал(а):
Цитата (Игорь_Vasinsky @ 6.06.2011 - 22:23) |
не встречал подобный синтаксис |
Вохможно потому, что это почти никогда не нужно. Точнее всегда можно сделать так, как ты показал.
Спустя 1 минута, 34 секунды (7.06.2011 - 00:26) waldicom написал(а):
Цитата (aveBen @ 6.06.2011 - 22:24) |
ТУТ МЕСТО КОМАНДЫ |
$i = 0;
do
{
$i++;
printf ("<table align='center' class='table_tournament_t'>
<tr>
<td class='table_tournament_t1'>%s</td>
<td class='table_tournament_t2'>%s</td>
<td class='table_tournament_t3'>%s</td>
<td class='table_tournament_t4'>%s</td>
<td class='table_tournament_t5'>%s</td>
<td class='table_tournament_t6'>%s</td>
<td class='table_tournament_t7'>%s</td>
<td class='table_tournament_t8'>%s</td>
</tr>
</table>",$i, $active_players_gk_result["team"],$active_players_gk_result["games"],$active_players_gk_result["win"],$active_players_gk_result["draw"],$active_players_gk_result["lost"],$active_players_gk_result["goals_culler_missing"],$active_players_gk_result["points"]);
}
while ($active_players_gk_result = mysql_fetch_array($active_players_gk));
пысы. Кто так учит писать циклы?
пыпысы. И использовать printf ?
Спустя 2 минуты, 10 секунд (7.06.2011 - 00:28) Игорь_Vasinsky написал(а):
aveBen
на Поповский код похоже.... почему printf ?
а exit (); - полность прекратит работу скриптов, расположенных ниже.
на Поповский код похоже.... почему printf ?
а exit (); - полность прекратит работу скриптов, расположенных ниже.
Спустя 9 минут, 11 секунд (7.06.2011 - 00:37) aveBen написал(а):
waldicom
При огромнейшее спасибо!!!
Игорь_Vasinsky
Наверное потому что, меня учит человек, который некогда учился у называемого Вами Попова. А printf - есть альтернатива лучше?
функцию работы exit (); я знаю. У меня ниже и нету, скриптов. Отдельная страница для таблицы.
При огромнейшее спасибо!!!
Игорь_Vasinsky
Наверное потому что, меня учит человек, который некогда учился у называемого Вами Попова. А printf - есть альтернатива лучше?
функцию работы exit (); я знаю. У меня ниже и нету, скриптов. Отдельная страница для таблицы.
Спустя 5 минут, 26 секунд (7.06.2011 - 00:42) Игорь_Vasinsky написал(а):
Цитата |
printf - есть альтернатива лучше? |
echo
Цитата |
ункцию работы exit (); я знаю. У меня ниже и нету, скриптов. |
тогда не зачем её вызывать.
Цитата |
Наверное потому что, меня учит человек, который некогда учился у называемого Вами Попова. |
ни чё личного - но учись лучшье на нашем форуме, пока переучиваться не пришлось.
Спустя 2 часа, 25 минут, 24 секунды (7.06.2011 - 03:08) inpost написал(а):
aveBen
Загляни ко мне в подписи, тебе будет полезно.
Загляни ко мне в подписи, тебе будет полезно.