Ir para conteúdo
Fórum Script Brasil
  • 0

Ultimo Id Cadastrado Em Bd


Guest --puroossosinistro --

Pergunta

Guest --puroossosinistro --

Fala Galera!

Tenho o seguinte trecho de código:

$conecta = mysql_query("SELECT max(id) FROM teste");

$formata = $conecta + 1;

$numero = sprintf("%03d", $formata);

$formatacao = "$numero";

Supondo o ultimo id cadastrado seja 5, esse trecho deveria produzir o resultado 006 certo?

Porém o resultado é sempre 001 independente de qual o ultimo id cadastrado... alguém sabe me informar qual o bug no código?

Obs.: preciso que esse código selecione o ultimo id cadastrado independente de ele ter sido apagado... ex: tenho os id’s cadastrados 1, 2 e 3... porém os id’s 4, 5 e 6 foram deletados... preciso que quando o trecho execute peque o id 6 (ultimo cadastrado) para realizar suas intruções...

Por favor ajudem!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest --puroossosinistro --
Caso você queira selecionar o ID gerado pelo auto_increment, use a função LAST_INSERT_ID(), do MySQL.

O PHP tem a função mysql_insert+_id(), que faz a mesma coisa. ;)

Abraços,

Beraldo

Beraldo!

É por aí mesmo... ollha só:

Tenho o seguinte trecho de código:

$conecta = mysql_query("SELECT max(id) FROM teste");

$formata = $conecta + 1;

$numero = sprintf("%03d", $formata);

$formatacao = "$numero";

Supondo o ultimo id cadastrado seja 5, esse trecho deveria produzir o resultado 006 certo?

Porém o resultado é sempre 001 independente de qual o ultimo id cadastrado... alguém sabe me informar qual o bug no código?

Obs.: preciso que esse código selecione o ultimo id cadastrado independente de ele ter sido apagado... ex: tenho os id’s cadastrados 1, 2 e 3... porém os id’s 4, 5 e 6 foram deletados... preciso que quando o trecho execute peque o id 6 (ultimo cadastrado) para realizar suas intruções...

Por favor ajudem!

Link para o comentário
Compartilhar em outros sites

  • 0

Em primerio lugar não fique postando em vários lugares do fórum...

Em segundo lugar, experimente dar um echo no valor de $conecta e vai ver que não existe valor... você precisa pegar o valor com o mysql_result...

$conecta = mysql_query("SELECT MAX(id) as ultimo_id FROM teste");
$valor = mysql_result($conecta,0,ultimo_id);
//Continua o código...

Link para o comentário
Compartilhar em outros sites

  • 0

Se o campo é auto_increment, e o que você quer é o próximo valor, você pode usar:

<?php
    (...)
    $sql = "SHOW TABLE STATUS FROM `banco_de_dados` LIKE 'tabela'";
    $query = mysql_query($sql);
    $row = mysql_fetch_array($query);
    echo $row["Auto_increment"];
?>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --puroossosinistro --

Pois é JISSA...

tentei isso:

$conecta = mysql_query("SELECT MAX(id) as id FROM teste");

$pega = mysql_result($conecta,0,id);

$adiciona = $pega + 1;

$numero = sprintf("%03d", $adiciona);

$formatacao = $numero;

e funcionou.. porém ele pega o ultimo registro que não foi apagado.... quero que ele peque o ultimo registro INCLUINDO os já apagados.... ouvi algo sobre:

LAST_INSERT_ID()

mysql_intert_id()

‘SHOW TABLE STATUS LIKE “tabela”’

Alguém sabe como utilizá-los? Estou com dificuldades para pegar a sintaxe da coisa...

Agradeço a todos!

Link para o comentário
Compartilhar em outros sites

  • 0

Ele pega o ultimo ID do cadastro, o ID se for autoincrement caso apague um ele pula este numero e não se reaproveita

tipo1 2 3 4

se apaga o 3 fica

1 2 4

o ultimo é o 4

agora se não usa o autoincrement e controle dentro do codigo os numeros é arriscado caso entre muitos usuarios simultaneos, tem que fazer rotinas para bloquear e desbloquear caso alguém coloque um novo registro.

ai neste caso o ultimo id pode pegar com o select

'select id * from tabela order by id desc'

ai o primeiro registro é o seu ultimo id

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...