собственный счетчик в данных с базами данных - PullRequest
0 голосов
/ 27 октября 2011
id | num | text
1  | a   | sdfsdf
2  | a   | sdfsdf
3  | b   | sdfsdf
4  | c   | sdfsdf
5  | a   | sdfsdf
6  | b   | sdfsdf
7  | a   | sdfsdf
8  | c   | sdfsdf

я делаю запрос, где num = и orderBy ID DESC , и у меня есть:

id | num | text
7  | a   | sdfsdf
5  | a   | sdfsdf
2  | a   | sdfsdf
1  | a   | sdfsdf

Я хотел бы добавить для этого счетчика:

count | id | num | text
  4   | 7  | a   | sdfsdf
  3   | 5  | a   | sdfsdf
  2   | 2  | a   | sdfsdf
  1   | 1  | a   | sdfsdf

я получаю данные с foreach PHP:

foreach ($data as $i => $dat) {
   echo $dat->id . $dat->num . $dat->text;
}

Я бы хотел кое-что:

foreach ($data as $i => $dat) {
   echo $i . $dat->id . $dat->num . $dat->text;
}

но $ i в обратном направлении

Ответы [ 3 ]

3 голосов
/ 27 октября 2011

Вы можете сделать это:

$count = count($data);
foreach ($data as $i => $dat) {
   echo ($count - $i) . $dat->id . $dat->num . $dat->text;
}
2 голосов
/ 27 октября 2011

Вы знаете, вы можете решить это в своем запросе SQL. Это пример, который был запущен для производственного экземпляра Redmine DB (MySQL):

select @curRow := @curRow + 1 AS row_number, issues.*
from issues, (SELECT @curRow := 0) r
where project_id = 7
and tracker_id = 3
order by 1 desc
2 голосов
/ 27 октября 2011

В PHP:

$i = count($data);
foreach ($data as $dat) {
    echo $i . $dat->id . $dat->num . $dat->text;
    $i--;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...