Ir para conteúdo

POWERED BY:

Arquivado

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

Rispiridon

Como faser um auto increment script?

Recommended Posts

vo tentar esplicar mais o menos o q eu presciso

 

tipo presciso faser uma busca automatica sempre buscando o ultimo campo.

 

sendo assim pensei no segunte algoritimo

 

faço uma listagem com um alto incremente a cada item (como minha chave primaria é auto incremente) eu vo obter o msm numero da chave primaria

 

ai faço a busca

ai ai ta lindo otima logica e tudo...

 

masssss......

 

e o script pra faser o auto increment em php ?

 

nun ei =/ fala ai galera qq eu presciso estudar ou sei la......

 

brigado desd ja

 

 

 

o q seria dos programadares sem o imasters?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae cara não entendi muito bem.

Você está querendo fazer uma busca no último campo de sua tabela e retornar os dados ordenados pelo id?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rispiridon

 

um ID "auto-increment" é gerado automaticamente pelo Banco de Dados.

 

qual a sua dúvida ?

 

você quer saber como criar um campo do tipo AUTO-INCREMENT ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito o que quer!

 

quer fazer busca no banco de dados a partir do campo id que é um auto-increment ?

explica melhor o que quer e para que.

assim mais pessoas podem te ajudar.

 

abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

a minha intençao principal é buscar o ultimo da tabela registro sempre

 

c o funcionario registrar um cliente ele vai ter seu numero na chave primaria (o numero mais elevado pq a chave ta como auto increment)

 

essa é a inteção

 

a partir do algiritimo q eu bolei

 

eu acho q consigo

 

mas o que eu realmente queria saber

 

é como faser um alto incremente em script php

 

é q naum lembro direito como faser

 

ex:

(é + o - assim)

 

for($i>0,$i++)

 

aa naum lembro como c fas alto incremente em php =/

 

no banco é mole xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rispiridon,

 

Ueh , é só você buscar o valor dessa PK (Primary Key) no banco e somar 1. Depois disso você pegue a variavel q atribuiu a soma e joga no banco no campo que quiser atraves de um update na tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rispiridon,

 

Ueh , é só você buscar o valor dessa PK (Primary Key) no banco e somar 1. Depois disso você pegue a variavel q atribuiu a soma e joga no banco no campo que quiser atraves de um update na tabela.

 

vo tentar explicar melhor !!!

 

assim eu to desenvolvendo um site e na pagina d noticia

o meu cliente vai escrever nun formulario qdo ele enviar vai direto pra uma pagina do site

 

sendo q essa pagina é php claro.. ela fas uma busca mas c o cara kiser colocar outra coisa, ele vai no formulario d novo e qdo manda pro banco o q ele escreveu, mas naum vai aparecer pq a busca ta buscando a chave da kele primeiro "post"

 

então qual minha duvida?

 

como buscar sempre o ultimo "post"

 

e eu naum keria usar o order by do mysql

kero em script php então bolei a seguinte logica

 

 

levando em consideração q a minha PK é Not Null Auto Increment

e faço o seguinte

 

um script d auto incremente (em php) e uma listagem a cada ves q surgir um item na lista o meu auto encremente em php sera somado +1

 

e eu buscaria o ultimo "post" apartir do numero do auto incremente q coincidiria com a minha PK

tendeu?

 

vlw agradeço desd ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que intendi o que você quer

 

no final da sua consulta coloca

ORDER BY id DESC

 

exemplo:

mysql_query("SELECT * FROM tabela LIKE nome '$palavra%' ORDER BY id DESC ");

 

( PS: nao sei se a consulta do like ta certo xD nao uso muito ela )

 

é so colocar isso no fina lda consulta que ele vai busca de cabeça pra baixo igual você quer

 

Ex 2 :

tenho registrado na tabela

ID : 1

Nome: lol

 

ID : 2

Nome: asd

 

ID : 3

Nome: qwe

 

ID : 4

Nome: zxc

ai faço a busca normal

$c = mysql_query("SELECT * FROM tabela ");
while($d = mysql_fetch_array($c))
{
$id = $d['id'];
$nome = $d['nome'];

  echo " ID: $id  Nome: $nome <br/>";
}
isso vai imprimi:

ID : 1  Nome: lol

ID : 2 Nome: asd

ID : 3 Nome: qwe

ID : 4 Nome: zxc

mas se eu por o ORDER BY id DESC

 

$c = mysql_query("SELECT * FROM tabela ORDER BY id DESC");
while($d = mysql_fetch_array($c))
{
$id = $d['id'];
$nome = $d['nome'];

  echo " ID: $id  Nome: $nome <br/>";
}
isso vai imprimi:

ID : 4 Nome: zxc

ID : 3 Nome: qwe

ID : 2 Nome: asd

ID : 1  Nome: lol

é isso que você quer neh ?

se quiser so um registro, tira o while ou poe LIMIT 1 no final da query

 

espero ter ajudado

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que intendi o que você quer

 

no final da sua consulta coloca

ORDER BY id DESC

 

exemplo:

mysql_query("SELECT * FROM tabela LIKE nome '$palavra%' ORDER BY id DESC ");

 

( PS: nao sei se a consulta do like ta certo xD nao uso muito ela )

 

é so colocar isso no fina lda consulta que ele vai busca de cabeça pra baixo igual você quer

 

Ex 2 :

tenho registrado na tabela

ID : 1

Nome: lol

 

ID : 2

Nome: asd

 

ID : 3

Nome: qwe

 

ID : 4

Nome: zxc

ai faço a busca normal

$c = mysql_query("SELECT * FROM tabela ");
while($d = mysql_fetch_array($c))
{
$id = $d['id'];
$nome = $d['nome'];

  echo " ID: $id  Nome: $nome <br/>";
}
isso vai imprimi:

ID : 1  Nome: lol

ID : 2 Nome: asd

ID : 3 Nome: qwe

ID : 4 Nome: zxc

mas se eu por o ORDER BY id DESC

 

$c = mysql_query("SELECT * FROM tabela ORDER BY id DESC");
while($d = mysql_fetch_array($c))
{
$id = $d['id'];
$nome = $d['nome'];

  echo " ID: $id  Nome: $nome <br/>";
}
isso vai imprimi:

ID : 4 Nome: zxc

ID : 3 Nome: qwe

ID : 2 Nome: asd

ID : 1  Nome: lol

é isso que você quer neh ?

se quiser so um registro, tira o while ou poe LIMIT 1 no final da query

 

espero ter ajudado

t+

 

 

sim é isso que eu kero mas eu naum keria usar o by order eu keria msm era faser em script mas como naum sei faser o script d php auto increment vai esse msm Vlw man

 

acerto na mosca =p

Compartilhar este post


Link para o post
Compartilhar em outros sites

detros,

 

obrigado pela contribuição

 

entretanto, esse método que você ensinou não é seguro.

 

a falha nesse método que você mostrou consiste no delay entre a consulta e uma possível entrada de um novo cadastro nesse intervalo de tempo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hinom

 

eu utilizo esse metodo, mas não tinha me ligado nesse detalhe do intervalo de tempo:

 

$sql2 = mysql_query("SELECT * FROM tabela ORDER BY id DESC LIMIT 1");
$mostrar2=mysql_fetch_assoc($sql2);
$nid=$mostrar2["id"];
$nid++;

Compartilhar este post


Link para o post
Compartilhar em outros sites

então como eu faria isso de uma forma mais segura?

 

Rispiridon,

 

A forma segura é com a função do php que hinom passou, ai você monipula com input type="hidden" pra onde você quiser.

 

$noticia_id = mysql_insert_id(); //ultimo auto incremento da tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Manual do PHP há exemplos. O link já foi citado, mas está aqui de novo:

http://br2.php.net/mysql_insert_id

 

Como usar auto_increment no MySQL:

http://dev.mysql.com/doc/refman/4.1/pt/exa...-increment.html

 

http://forum.imasters.com.br/public/style_emoticons/default/searchbeforeposting.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Manual do PHP há exemplos. O link já foi citado, mas está aqui de novo:

http://br2.php.net/mysql_insert_id

 

Como usar auto_increment no MySQL:

http://dev.mysql.com/doc/refman/4.1/pt/exa...-increment.html

 

http://forum.imasters.com.br/public/style_emoticons/default/searchbeforeposting.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

acontece que pra peskisar no google tem que saber como escrever e em php so meio leigo

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.