Jump to content

Verificar próximo ID da BaseDados


tiko165

Recommended Posts

Imaginemos que tenho os seguintes Base de Dados, com a seguinte ordem na BD, mas com ID's aleatórios.

O que eu pretendia, era fazer o tal botão "Proximo ID", onde estivesse a ler o nome da BD "15, Alfredo", e colocasse no botão o ID "21, para Jolieta". Como faço isso na MySql ??

id, nome
1, Alberto
2, João
3, Maria
10, Manuel
15, Alfredo
21, Jolieta
25, Susana
30, Tiago
44, Diogo
collectioneuro300px.png
Link to comment
Share on other sites

ha varias formas de fazer, podes por exemplo enviar num GET uma variavel tipo "prev_id" (que iria corresponder a ID que tavas a ver)

depois fazias uma query tipo isto:

$prev_id = $_GET['prev_id'];
SELECT * FROM `pessoas` WHERE id > $_prev_id LIMIT 1

ps: precisa de testes de validaçao de dados 😉 mas a ideia tá la

Edited by I-NOZex
  • Vote 2

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net
Link to comment
Share on other sites

ha varias formas de fazer, podes por exemplo enviar num GET uma variavel tipo "prev_id" (que iria corresponder a ID que tavas a ver)

depois fazias uma query tipo isto:

$prev_id = $_GET['prev_id'];
SELECT * FROM `pessoas` WHERE id > $_prev_id LIMIT 1

ps: precisa de testes de validaçao de dados 😉 mas a ideia tá la

Exactamente, isso mesmo 🙂

Para fazer também o anterior basta alterar para "<", pois se for, a mim mostra-me dessa forma o 1º resultado, e não o anterior :s

collectioneuro300px.png
Link to comment
Share on other sites

para o anterior faz assim:

SELECT * FROM `pessoas` WHERE id < $prev_id ORDER BY id DESC LIMIT 1

ele assim vai ordenar do maior para o menor, e vai retornar o 1º maior numero que seja menos qe o ID actual, se for 15 ele vai retornar o ID=10 😉

Edited by I-NOZex
  • Vote 1

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net
Link to comment
Share on other sites

para o anterior faz assim:

SELECT * FROM `pessoas` WHERE id < $prev_id ORDER BY id DESC LIMIT 1

ele assim vai ordenar do maior para o menor, e vai retornar o 1º maior numero que seja menos qe o ID actual, se for 15 ele vai retornar o ID=10 😉

Obrigado pela ajuda 😄

És grande 😛

Edited by tiko165
collectioneuro300px.png
Link to comment
Share on other sites

offtopic: @I-NOZex isto assim parece o fb ou g+ 😄

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

não será mais fácil por página ?

$pagina = 0;
$sql_total = "SELECT count(id) FROM `pessoas";

if ($pagina != 0)
 $sql_anterior = "SELECT * FROM `pessoas` ORDER BY id DESC LIMIT ".($pagina-1).", 1"
if ($pagina != $total - 1)
 $sql_proximo = "SELECT * FROM `pessoas` ORDER BY id DESC LIMIT ".($pagina+1).", 1"
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

não será mais fácil por página ?

$pagina = 0;
$sql_total = "SELECT count(id) FROM `pessoas";

if ($pagina != 0)
 $sql_anterior = "SELECT * FROM `pessoas` ORDER BY id DESC LIMIT ".($pagina-1).", 1"
if ($pagina != $total - 1)
 $sql_proximo = "SELECT * FROM `pessoas` ORDER BY id DESC LIMIT ".($pagina+1).", 1"

Não me parece, pois os ID's poderão nunca ser seguidos.

collectioneuro300px.png
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.