Ir para conteúdo
Fórum Script Brasil
  • 0

paginação


Jota Miler

Pergunta

ola pessol estou com um probleminha, não consigo achar onde esta o erro correspindente:

Parse error: syntax error, unexpected T_ELSE in /home/temp/public_html/testes/podologia/perguntar.php on line 14

obs:: a linha 14 é refernte ao $registros=5;

segue o código que estou tentando adaptar, pois procurei alguns artigos no youtube e consegue um bem simples em espenhos, e no video o cara estava ensinando e monstrando o funcionamento, estava dando certo, fiz exatamento como ele esta mostrando no video mais ocorreu este erro acima não entendo porque!

<?php

include "config.php";

include "conexao.php";

$query = "SELECT * FROM mural ORDER by id ASC";

$consulta = mysql_query($query);

$tr=mysql_num_rows($consulta);

$registros=5;

$pagina=$_GET["num"];

if (is_numeric($pagina));

$inicio=(($pagina-1)*$registros)

else

$inicio=0;

$query = "SELECT * FROM mural ORDER by id ASC LIMIT LIMIT '$inicio','$registros'";

?>

video parte 1: http://www.youtube.com/watch?v=SOszWsH8RrE...feature=related

video parte 2: http://www.youtube.com/watch?v=aqXYhtkRHN0...feature=related

se alguém ´puder me identificar o erro muito obrigado!!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
$inicio=(($pagina-1)*$registros) <--- faltou o ;

já corrigi mais ainda não du certo, esta apintando o erro na variavel $registros=5;

Parse error: syntax error, unexpected T_ELSE in /home/temp/public_html/testes/podologia/perguntar.php on line 12

onde a linha 12 é o $registro=5; :unsure:

Link para o comentário
Compartilhar em outros sites

  • 0

O erro está no ponto e vírgula no final da condicao do if:

if (is_numeric($pagina)); //errado
if (is_numeric($pagina))  //correto
    $inicio=(($pagina-1)*$registros); //Coloque o ponto e vírgula nesta linha

Editado por OxCom
Link para o comentário
Compartilhar em outros sites

  • 0
O erro está no ponto e vírgula no final da condicao do if:

if (is_numeric($pagina)); //errado
if (is_numeric($pagina))  //correto
    $inicio=(($pagina-1)*$registros); //Coloque o ponto e vírgula nesta linha

muito obrigado sanei o erro, mais ainda tenho uma dúvida::

no video quando o kara testa o codigo, a tag LIMIT $inicio,$registros

assume o valor 0,5, no meu código não acontece isso, apenas exibe todos os registros para eu tentar melhorar minha explicação segue o meu código

<?php

include "config.php";

include "conexao.php";

$query = "SELECT * FROM mural ORDER by id ASC";

$consulta = mysql_query($query);

$tr=mysql_num_rows($consulta);

$registros=5;

$pagina=$_GET["num"];

if (is_numeric($pagina))

$inicio=(($pagina-1)*$registros);

else

$inicio=0;

$query = "SELECT * FROM mural ORDER by id ASC LIMIT LIMIT '$inicio','$registros'";

?>

recomendo que deem uma olhadinha o video parte 1 onde estou tentando seguir a explicação do kara valeu galera

Link para o comentário
Compartilhar em outros sites

  • 0

ola pessoal, já consegui resolver meu probleminha de paginação mais agora tenho uma pequena duvida..

consegui exibir 5 em 5 registros na pagina, mas como é uma pagina como se fosse um mural, ou seja a pessoa le e faz um post.

coloquei para ser exibido por ordem de id, só que quando aparece as 5 primeiros registros registros o mais recente aparece primeiro

5

4

3

2

1

(e aki seria o formulário de post)

gostaria fosse exibido assim

1

2

3

4

5

(formulário de post)

para que o comentario mais recente fikasse perto do formulario para facilitar a leitura, alguém tem alguma ideia?

já tentei mudar a ordem de asc para desc mais não da certo porque quando mudo a ordem ai aparece assim

desc

7

8

9

10

(post)

asc

1

2

3

4

5

(post)

se não espliquei direito, resumindo gostaria que aparecesse assim, digamos que o numero maior seria o post mais recente:::

6

7

8

9

10

(formularui)

2º pagina

1

2

3

4

5

(formulario)

será que alguém tem alguma ideia???

Editado por Jota Miler
Link para o comentário
Compartilhar em outros sites

  • 0

Acho q eu entendi a lógica....

Página 1:

11 - 12 - 13 - 14 - 15 -Formulario

Página 2:

6 - 7 - 8 - 9 - 10 - Formulário

Página 3:

1 - 2 - 3 - 4 - 5 - Formulário

Uma possível solução é :

1) Pegar as linhas que você buscou no banco (ordenado pelo id DESC) e agrupar de 5 em 5 registros.

Desta forma você terá uma matriz:

Exemplificando:

Você buscou 15 linhas no banco.

Você agrupa de 5 em 5 na matriz:

*Dentro do array eu coloquei so os IDs das linhas q você buscou no banco, para facilitar o entendimento.

$items[0] = array(15, 14, 13, 12, 11);
$items[1] = array(6, 7, 8, 9, 10);
$items[2] = array(5, 4, 3, 2, 1);
2) Inverta cada página ($item[x]):
$item[0] = array_reverse($item[0]);
Com isso o novo array será:
$items[0] = array(11, 12, 13, 14, 15);

Espero ter ajudado!

Editado por OxCom
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...