Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um sistema de noticias com a opção de excluir ele é de bando de dados externo, estou com um problema quando excluo qualquer noticia
ex:Noticia nº 10
Ae quando eu excluo essa noticia, assim que cadastro outra vai direto para o 11 enquanto fica um vacuo entre a 9 e 11.
Eu queria que o auto icrement retornace um numero a menos para que a proxima noticia que eu criar seja a 10
excluir_db.php?id=$idEsse codigo esta excluido do meu banco de dados. Obrigado se puderem ajudar.
Muito provavelmente nao tem como
Qual o real motivo disso?
Faça o controle manual. No primeiro registro compare o campo ID se for vazio e/ou zero comece com ID=1, e dai por diante na sua funcao de insercao faca a leitura dos campos. Se id=2 entao o proximo seria o 3, dai vem a seguinte questao e no meu ponto de vista um problema. Suponha-se que você tenha os seguintes registros:
ID = [1]
ID = [2]
ID = [3]
ID = [4]
E entao resolve excluir o 3, dai quando executasse seu script o ultimo registro seria o 4 e por logica entao seu script faria a inserção do ID= [5] continuando vazio entre 2 e 4. A solucao para este problema entao seria criar um indexador que reorganizaria seus ID's acabando com o furos. Dai estariamos voltando a era clipper entre outros com as incasáveis indexações.
Bom espero ter ajudar um pouco.
Acho que isso não seria possível,porque o auto-increment guarda todos os 'id',só se desse truncate na tabela,
Oque acho que dá pra fazer seria ao invez de deletar o id 10,criasse uma coluna 'visivel',e aonde for listar as noticias aparecer apenas as que tiverem um valor na coluna visivel,
Assim ao invez de deletar,você apenas muda o valor de visivel,
quando for adicionar por ex. a 11,você edita a noticia.