tiko165 Posted June 13, 2013 at 11:28 AM Report #512570 Posted June 13, 2013 at 11:28 AM 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
I-NOZex Posted June 13, 2013 at 11:33 AM Report #512573 Posted June 13, 2013 at 11:33 AM (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 June 13, 2013 at 11:33 AM by I-NOZex 2 Report B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
tiko165 Posted June 13, 2013 at 11:47 AM Author Report #512586 Posted June 13, 2013 at 11:47 AM 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
I-NOZex Posted June 13, 2013 at 12:12 PM Report #512599 Posted June 13, 2013 at 12:12 PM (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 June 13, 2013 at 12:13 PM by I-NOZex 1 Report B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
tiko165 Posted June 13, 2013 at 12:13 PM Author Report #512600 Posted June 13, 2013 at 12:13 PM (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 June 13, 2013 at 12:14 PM by tiko165
I-NOZex Posted June 13, 2013 at 12:22 PM Report #512607 Posted June 13, 2013 at 12:22 PM Obrigado pela ajuda 😄 És grande 😛 ahah, nada disso 😁 mas se queres mesmo agradecer, deixa like 👍 sempre as ordens B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
tiko165 Posted June 13, 2013 at 12:24 PM Author Report #512608 Posted June 13, 2013 at 12:24 PM ahah, nada disso 😁 mas se queres mesmo agradecer, deixa like 👍 sempre as ordens Não sei se reparas-te, mas já os tinha colocado antes 😄
I-NOZex Posted June 13, 2013 at 02:33 PM Report #512657 Posted June 13, 2013 at 02:33 PM por acaso não tinha reparado, custumo receber as notificações, deve ter-me escapado x) mas pronto ainda bem que pude ajudar 😉 B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
pikax Posted June 13, 2013 at 02:35 PM Report #512659 Posted June 13, 2013 at 02:35 PM 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."
I-NOZex Posted June 13, 2013 at 02:55 PM Report #512671 Posted June 13, 2013 at 02:55 PM ahaha 😄 é so um meio de ganhar reputação entre tantos cranios 😉 1 Report B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
tiko165 Posted June 13, 2013 at 05:47 PM Author Report #512732 Posted June 13, 2013 at 05:47 PM ahaha 😄 é so um meio de ganhar reputação entre tantos cranios 😉 Que não seja por isso, recebes mais um 😛
HappyHippyHippo Posted June 13, 2013 at 09:54 PM Report #512770 Posted June 13, 2013 at 09:54 PM 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 Portugol Plus
tiko165 Posted June 14, 2013 at 08:10 AM Author Report #512820 Posted June 14, 2013 at 08:10 AM 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.
HappyHippyHippo Posted June 14, 2013 at 08:12 AM Report #512821 Posted June 14, 2013 at 08:12 AM Não me parece, pois os ID's poderão nunca ser seguidos. olha bem para o SQL, não interessa que sejam seguidos ou não IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
tiko165 Posted June 14, 2013 at 10:02 AM Author Report #512853 Posted June 14, 2013 at 10:02 AM olha bem para o SQL, não interessa que sejam seguidos ou não Mas da forma que o "I-NOZex" disse, funciona perfeitamente da forma que eu pretendia, por isso
HappyHippyHippo Posted June 14, 2013 at 10:22 AM Report #512859 Posted June 14, 2013 at 10:22 AM a escolha é tua IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now