Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipedrumond

Como pegar último registro?

Recommended Posts

se o seu campo for um inteiro autoincremental você pode usar Select MAX(ID) ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, se voce tiver no seu bd o campo autoincrement id, fica tudo mais fácil, ai é só usar o comando que o felipe disse, se você nao tiver ele cara, de um jeito de por, ajuda bastante... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera

PhP & MySql

Também tenho essa duvida, mas um pouco diferente:

tenho um db com duas tabelas:

categorias e clientes

só que a tabela categorias tem o autoincrement e está relacionada com a tabela clientes, eu percebo que a segunda tabela, clientes não permite o autoincrement, e isto é importante para mim..

O que devo fazer:

primeiro parater autoincremente na tabela clientes, e segundo para recuperar os últimos registros.

 

Aqui a minha tabela:

 

# MySQL-Front Dump 2.5## Host: localhost   Database: clientes# --------------------------------------------------------# Server version 3.23.51USE clientes;## Table structure for table 'categorias'#DROP TABLE IF EXISTS `categorias`;CREATE TABLE `categorias` (  `codcat` int(11) NOT NULL auto_increment,  `nomecat` varchar(30) NOT NULL default '',  PRIMARY KEY  (`codcat`)) TYPE=MyISAM COMMENT='Tabela de Categorias de clientes';## Dumping data for table 'categorias'#INSERT INTO `categorias` (`codcat`, `nomecat`) VALUES("1", "Profissional");INSERT INTO `categorias` (`codcat`, `nomecat`) VALUES("2", "Demo");INSERT INTO `categorias` (`codcat`, `nomecat`) VALUES("3", "Free");INSERT INTO `categorias` (`codcat`, `nomecat`) VALUES("4", "Outros");## Table structure for table 'clientes'#DROP TABLE IF EXISTS `clientes`;CREATE TABLE `clientes` (  `codcat` int(11) NOT NULL default '0',  `codcliente` varchar(4) NOT NULL default '0',  `nome` varchar(60) NOT NULL default '',  `sexo` double NOT NULL default '0',  `cidade` varchar(50) NOT NULL default '',  `estado` char(2) default NULL,  `instituicao` varchar(50) default NULL,  `email` varchar(30) NOT NULL default '@',  `homepage` varchar(50) default NULL,  `comentario` text,  `dtanunc` timestamp(14) NOT NULL,  `foto` varchar(50) default NULL,  `tipoprovedor` varchar(15) default NULL,  `nomesite` varchar(35) default NULL,  `nomeprovedor` varchar(50) NOT NULL default '',  `login` varchar(12) NOT NULL default '',  `senha` smallint(12) NOT NULL default '0',  `eduportal` varchar(30) NOT NULL default '0',  `eplogo` varchar(22) NOT NULL default '') TYPE=MyISAM COMMENT='Tabela de clientes';## Dumping data for table 'clientes'#

 

Grato

meujovem

Compartilhar este post


Link para o post
Compartilhar em outros sites

a sua tabela clientes já possue um campo primary key não é?e o campo auto_increment precisa ser primary key pra ele ter certeza de que os registros serão únicos...verifique se realmente o campo que está como PK é necessário este atributo, caso contrário será dificil trabalhar com o auto_increment nessa tabela...

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você tiver o autoincrement em ID por exemplo, você pode acessar o último registro com o comando sql:$sql = "SELECT * FROM clientes ORDER BY id DESC";$query = mysql_query($sql);daí é só acessar o primeiro registro pois ele será o último porque está em ordem decrescente.Ex.echo mysql_result($query,0,"nome");assim como: echo mysql_result($query,1,"nome"); é o penúltimo registro.agora se você não tem nenhum autoincrement, pode usar o laço for para acessar o último registro ou contar o número de registro e acessar o último.ex.$sql = "SELECT * FROM clientes";$query = mysql_query($sql);$num_de_registros = mysql_num_rows($query);echo mysql_result($query,$num_de_registros - 1,"nome");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.