Jump to content

Recommended Posts

Posted

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
Posted (edited)

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
Posted

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
Posted (edited)

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
Posted (edited)

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
Posted

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."

Posted

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
Posted

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

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.