Luis Vagner Postado Março 31, 2009 Denunciar Share Postado Março 31, 2009 Pessoal estou tentando pegar o último código cadastrado em um campo da tabela e somar mais um. O problema que o sequencial tem que ficar assim:E001E002E003...Estou tentando assim, mas não está dando certo...$select = mysql_query("select max(codigo_estacao) from estacoes");$total_cod = mysql_result($select,0,"max(codigo_estacao)") or die(mysql_error());$total = $total_cod+1; Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 31, 2009 Denunciar Share Postado Março 31, 2009 $inicial = 'E003'; $inicial = substr($inicial, 1); $inicial = (INT)$inicial; for($i=1;$i<=15;$i++){ $final = 'E'.str_pad($inicial+$i, 3, "0", STR_PAD_LEFT); echo $final.'<br>'; } Link para o comentário Compartilhar em outros sites More sharing options...
0 Luis Vagner Postado Abril 1, 2009 Autor Denunciar Share Postado Abril 1, 2009 (editado) Pessoal, consegui resolver meu problema da seguinte forma:$sel_nome = mysql_query("select max(nome_estacao) from estacoes");$result = mysql_result($sel_nome,0,"max(nome_estacao)") or die(mysql_error());$result = substr($result, 1);$proximo_codigo = 'E'.str_pad($result+1, 3, "0", STR_PAD_LEFT)."-"; Abraços a todos que ajudaram! Editado Abril 1, 2009 por Luis Vagner Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 1, 2009 Denunciar Share Postado Abril 1, 2009 MovendoPHP » MySQL. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Abril 1, 2009 Denunciar Share Postado Abril 1, 2009 Oi, 'Luis Vagner' Crie uma tabela tipo parâmetro que terá somente um registro. Quando você for inserir um dado em sua tabela, vá até esta tabela de parâmetro,;Trave-a com lock table;Dê um update no número dela,Atualize sua tabela original,libere a tabela de parametro.Seu último número será conforme o exemplo abaixo:SET @numero="E001"; select CONCAT("E", IF ((SUBSTRING(@numero,2,3)+1) < 10, LPAD((SUBSTRING(@numero,2,3)+1), 3, '0'), IF ((SUBSTRING(@numero,2,3)+1) < 10, LPAD((SUBSTRING(@numero,2,3)+1), 3, '0'), (SUBSTRING(@numero,2,3)+1))));onde @numero é uma variável que criei para efeito deste exemplo. Link para o comentário Compartilhar em outros sites More sharing options...
0 Luis Vagner Postado Abril 1, 2009 Autor Denunciar Share Postado Abril 1, 2009 Pessoal, consegui resolver meu problema da seguinte forma:$sel_nome = mysql_query("select max(nome_estacao) from estacoes");$result = mysql_result($sel_nome,0,"max(nome_estacao)") or die(mysql_error());$result = substr($result, 1);$proximo_codigo = 'E'.str_pad($result+1, 3, "0", STR_PAD_LEFT)."-";Abraços a todos que ajudaram! Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Luis Vagner
Pessoal estou tentando pegar o último código cadastrado em um campo da tabela e somar mais um. O problema que o sequencial tem que ficar assim:
E001
E002
E003...
Estou tentando assim, mas não está dando certo...
$select = mysql_query("select max(codigo_estacao) from estacoes");
$total_cod = mysql_result($select,0,"max(codigo_estacao)") or die(mysql_error());
$total = $total_cod+1;
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados