Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal criei um sistema de inscrição de competidores e a ordem de competição só que hoje e feito de forma manual onde o usuario digita o nome do competido e a posição em que ele irá competir.
por exemplo
Diego 1
Fernando 2
O problema que muitos vão falar para colocar pelo auto_increment é que um competidor pode fazer 5 inscrições por exemplo e ele não pode ficar em sequencia.
Minha duvida e como fazer para quando for fazer as inscrições em sequencia o mesmo nome ele na coluna posição do banco ele fazer um salto de uns 5 do ultimo nome igual.
ok, eu pensei e pegar a ultima posição e acrescentar 5, o problema é como fazer acrescentar 5 pensando que do ultimo + 5 pode já haver alguem com essa numeração e o sistema tem que ir percorrendo uma numeração sem estar sendo usada e por exemplo.
Vou ter competidores assim:
1
2
3
4
9
quando for inscrever um competidor novo que não precisa pular ele coloca-lo no 5 e não no 10
Você lança uma comparação, antes de acrescentar o '5' verifica se o resultado da soma 'posição + 5' ja existe, se existir, vai acrestando +1 (ou valor maior pra ter certeza, porém com valor maior vai gerando muita aleatoriedade na fila) até passar.
Seleciona o competidor do banco, pega o id ( ou primary key ), verifica o valor da primary key, depois você acrescenta a distancia.
Porém não use id como ordenamento, pois ela é auto-increment certo ? use um outro campo para 'order by' sem auto-increment.