Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola Pessoal!!
Estou fazendo uma consulta no banco de dados usando o seguinte sql:
$sql = mysql_query("SELECT * FROM inscricao WHERE id_evento='$evento' AND id_sub != '0' AND id_cat != '0' ORDER BY id_sub ASC, id_cobranca ASC") or die(mysql_error());
$conta = mysql_num_rows($sql);
$i = 0;
while($ver = mysql_fetch_array($sql)){
// aqui dentro o resultado
}
Nos meus resultados aparece assim:
| ordem | ID | Atleta | Categoria
| 1/150 | 1254 | Nome do atleta | categoria 1
| 2/150 | 1220 | Nome do atleta | categoria 1
| 3/150 | 1500 | Nome do atleta | categoria 2
| 4/150 | 1321 | Nome do atleta | categoria 3
Neste caso uso a variável $i pra incrementar a order "1/150, 2/150 ..."
O problema é que preciso que este increment seja de acordo com o ID ex:
| ordem | ID | Atleta | Categoria
| 2/150 | 1254 | Nome do atleta | categoria 1
| 1/150 | 1220 | Nome do atleta | categoria 1
| 4/150 | 1500 | Nome do atleta | categoria 2
| 3/150 | 1321 | Nome do atleta | categoria 3
Creio que isso possa ser feito direto no SELECT. Alguem pode ajudar?
Obrigado Berlado.
Mas assim ele vai ficar por ordem de id. se reparar meu select, vai ver que ele ordena usando dois atributos:
ORDER BY id_sub ASC, id_cobranca ASC
Eu preciso que ele conte os registros de va numerando de acordo com o numero do id, sem importar a ordem que eles estejam. Pois a ordenação é feita pela categoria.
E como se tivesse contando a ordem do id. ex: id 2500 = 5º registro. 2480 = 3º registro, 2490 = 4º registro e assim por diante.
90% dos servidores ainda trabalham com php 5.2, eu atualmente trabalho com 5.4. Trabalho tbem com "mysqli ", mas isso não vem ao caso. Odeio PDO.
Esse id que tem na sua descrião, com os valores: 1254, 1220, 1500, 1321... são qual id? Ordene por ele e imprima a "ordem" como estava fazendo. Foi a dica que o Beraldo deu ;)
Posso te dar uma sugestão meio maluca.... Vc cria uma função que acesse cada elemento do seu vetor(resultado da consulta e ordene esses ids em um vetor auxiliar. Depois vc numera esse vetor auxiliar. Feito isso, vc roda novamente o seu vetor principal e verifica qual id é compativel com o vetor auxiliar, ai imprime o vetor principal e a numeração salva no vetor auxiliar.... uuufaa .... :D
É só ordenar pelo ID
SELECT ... ORDER BY id ASC;
assim o contador vai contar do menor pro maior
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/