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

Recuperar Ultima Linha Da Tabela!


Guest - Ricardo -

Pergunta

Guest - Ricardo -

E ai pessoal, se alguém poder me ajudar fico muito grato, estou a vários dias estudando um imenso tutorial de MySQL de 1435 pg. para achar um comando que me retorne a ultima linha salva em uma tabela MySQL (criada com chave primaria e recurso auto_increment) só achei o "select last_insert_id();" porem ele me retorna sempre 0, sendo que a tabela tem varias linhas salvas. Se alguém tiver uma luza fico muito grato.

Até.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olá, agradeço muito por responder minha dúvida, porem não funcionou a linha de comando que você postou aqui, da um erro de sintaxe, derepente pode me ajudar com a questão abaixo

Consegui usar o "select last_insert_id();" no prompt do MySQL, porem quando recupero o valor via PHP ele me etorna o seguinte valor "Resource id #3", abaixo está o código fonte que estou usando se alguém saber me dizer oque está acontecendo fico muito grato.

<?

$conn = mysql_connect("localhost","root","");

$sel = mysql_select_db('ricardo', $conn);

$sql = mysql_query("SELECT last_insert_id()", $conn);

echo ("&total=$sql&");

mysql_close($conn);

?>

No caso a variável na página mostra "Resource id #3" e quando executo "select_last_id();" no prompt do MySQL ele me retorna o valor "4" que é o último valor salvo na tabela, e que estaria correto.

Até.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Trusttr -

Agradeço pela colaboração, este comando funciona, porem já tinha feito de uma outra maneira, estou disponibilizando o cod. fonte para quem tiver o mesmo problema.

<?

$conn = mysql_connect("localhost","root","");

$sel = mysql_select_db('ricardo', $conn);

$sql = mysql_query("SELECT * from video order by id desc limit 1", $conn);

while ($res = mysql_fetch_array($sql)) {

$ult = $res["id"];

}

$tot = mysql_query("SELECT * FROM video", $conn);

$num = mysql_num_rows($tot);

for ($i = $ult; $i >= 1; $i--) {

$sql = mysql_query("SELECT * FROM video where id like'$i'", $conn);

while ($res = mysql_fetch_array($sql)) {

$id = $res["id"];

$nome = $res["nome"];

$categoria = $res["categoria"];

}

$comp = "

Id: " . $id . "

Nome: " . $nome . "

Categoria: " . $categoria;

if (id <> "" and $id <> $test) {

$ret = $comp . $ret;

}

$test = $id;

}

echo ("&filmes=$ret&");

echo ("&total=$num&");

echo ("&tr=ok&");

mysql_close($conn);

?>

Até.

Link para o comentário
Compartilhar em outros sites

  • 0

Retorna o Ultimo Registro:

select max(campo_id) from tabela

Abs. Progr'amador.

Meu código:

<?

$sql = "SELECT MAX(cod) FROM alunos";

$resultado = mysql_query($sql) or die (mysql_error());

echo $resultado;

echo "<br>";

$sql = mysql_query("SELECT last_insert_id(cod) from alunos");

echo $sql;

?>

ele retorna:

Resource id #3

Resource id #4

:blink:

Acho que o MAX só funciona em mysql 5, alguém sabe como retornar o último valor de um campo auto increment mesmo que o último valor já tenha sido deletado?

Link para o comentário
Compartilhar em outros sites

  • 0

desta forma, ele retorna apenas o Id da query executada.

voce deve armazenar o extrair o resultado. Utlie o mysql_fetch_array

<?

$sql = "SELECT MAX(cod) AS TOTAL FROM alunos";

$resultado = mysql_query($sql) or die (mysql_error());

$rs = mysql_fetch_array($resultado);

echo $rs['TOTAL'];

?>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...