Jump to content
PF2G

Dados repetidos

Recommended Posts

PF2G

Boas,

eu tenho este sistema de paginação com a lista de noticias, mas está a repetir a primeira noticia de cada página 2 vezes.

Neste caso, aparecem-me 3 noticias por página em vez de 2...

   if(isset($_GET['page'])){
   require('config.php');
   $page = $_GET["page"]; //Getting Page number
   $pages_query = mysql_query("SELECT COUNT(IdNoticia) FROM noticias"); // Counting total rows
   if($page=="" || $page=="0" || $page>$pages_query) { //checking is p is set and greater than 0
   $page = 1; //if not set than setting it to 1
   }
   $per_page = 2; //Total data to display per page
   $pages = ceil(mysql_result($pages_query, 0) / $per_page); //dividing total rows with total data to
   $start = ($page - 2) * $per_page; // subtracting $p value with 1 and multiplying it with $per_page for example 2-1=1*10 = 10
   $QuerySelectAllNews = mysql_query("SELECT * FROM noticias ORDER BY IdNoticia ASC LIMIT $start, $per_page");
   $SelectAllNews = mysql_fetch_array($QuerySelectAllNews);
   //Running our query
   $content='';
   do{
   $content.='<div id="square_news">';
   $content.='<div id="news_banner">';
   $content.='<img src="'.$SelectAllNews['ImagemNoticia'].'" />';
   $content.='</div>';
   $content.='<h2 class="square_news_title">';
   $content.='<a href="?idnews='.$SelectAllNews['IdNoticia'].'">'.$SelectAllNews['TituloNoticia'].'</a>';
   $content.='<div class="social">';
   $content.='<a href="#"><img src="http://bass.house.gov/sites/karenbass.house.gov/files/images/facebook_0.png" width="70px" /></a>';
   $content.='</div>';
   $content.='<span class="line"></span>';
   $content.='</h2>'
   $content.='</div>';
   echo $content;
   }while($SelectAllNews = mysql_fetch_array($QuerySelectAllNews));
   for($a=1;$a<=$pages;$a++) { //using for to display number
   echo "<a href='?page=$a' class='page_link'>$a</a> "; //printing numbers also using link tags
   }
   }

Share this post


Link to post
Share on other sites
Virneto

Eu retirava o:

do {} while () 

e experimentava assim:

while($SelectAllNews = mysql_fetch_array($QuerySelectAllNews))
{
$content.='<div id="square_news">';
$content.='<div id="news_banner">';
$content.='<img src="'.$SelectAllNews['ImagemNoticia'].'" />';
$content.='</div>';
$content.='<h2 class="square_news_title">';
$content.='<a href="?idnews='.$SelectAllNews['IdNoticia'].'">'.$SelectAllNews['TituloNoticia'].'</a>';
$content.='<div class="social">';
$content.='<a href="#"><img src="http://bass.house.gov/sites/karenbass.house.gov/files/images/facebook_0.png" width="70px" /></a>';
$content.='</div>';
$content.='<span class="line"></span>';
$content.='</h2>'
$content.='</div>';
echo $content;
}

Com o "do while" primeiro imprimes e depois verificas a condição.

Com o "while" primeiro verificas a condição e depois imprimes.


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
HappyHippyHippo

eu sei qual é o problema, mas em vez de dizer como resolver vou-te dizer para fazeres uma alteração para ver se chegas lá:

$per_page = 3;

agora verifica quantas repetições tens e que notícias foram repetidas

NOTA : volto a dizer >> isto não é a solução, mas uma alteração que te vai amostrar mais informação sobre o problema


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Virneto

e também não precisarás de ter isto duas vezes. Tens uma antes do while:

$SelectAllNews = mysql_fetch_array($QuerySelectAllNews);


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
HappyHippyHippo

e também não precisarás de ter isto duas vezes. Tens uma antes do while:

$SelectAllNews = mysql_fetch_array($QuerySelectAllNews);

tem uma antes do do {} while

o que é diferente do que ter antes do while

as soluções que estás a dizer não afectam em nada o resultado porque essa parte do código está correcto

se não estas a ver onde está o problema, vê bem o código e pensa porque razão pedi ao OP para alterar o número de notícias e verificar quais as notícias que se repetem e quantas repetições aparecem


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Virneto

se não estas a ver onde está o problema, vê bem o código e pensa porque razão pedi ao OP para alterar o número de notícias e verificar quais as notícias que se repetem e quantas repetições aparecem

Well ok. :confused: . neste caso vou deixar de fazer ruído.


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
HappyHippyHippo

mais uma dica :

1
12
123
1234
12345
123456
1234567

será que vais lá assim ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
PF2G

Essa ultima dica não ajudou nada.

Eu alterei para

$per_page = 3;

e ficou:

Noticia1
Noticia1
Noticia2
Noticia1
Noticia2
Noticia1

Edited by PF2G

Share this post


Link to post
Share on other sites
HappyHippyHippo

ok ... estou a ver que tenho mesmo de dar a solução:

- o problema > repetição de notícias

- a causa > impressão de uma string repetidamente em várias etapas da sua construção

$content='';
do{
 // ...
 echo $content; // <-------- isto terá sempre a informação dos ciclos anteriores
}while($SelectAllNews = mysql_fetch_array($QuerySelectAllNews));

resultado para variavel $per_page com o valor de 4:

Noticia1 (ciclo 1)
Noticia1 (ciclo 2) Noticia2 (ciclo 2)
Noticia1 (ciclo 3) Noticia2 (ciclo 3) Noticia3 (ciclo 3)
Noticia1 (ciclo 4) Noticia2 (ciclo 4) Noticia3 (ciclo 4) Noticia4 (ciclo 4)

(percebes agora a dica ?)

- solução mais simples > passar o echo para depois do ciclo do {} while

$content='';
do{
 // ...
}while($SelectAllNews = mysql_fetch_array($QuerySelectAllNews));
echo $content;


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Virneto

@Happy

Muito bom o raciocínio!

eu nem com o fim de semana ia chegar lá! :(

Edited by Virneto

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
Pivot

@Happy

Muito bom o raciocínio!

eu nem com o fim de semana ia chegar lá! :(

O problema de muitos ditos "programadores" é a lógica da "coisa"...

Para programares precisas de perceber o que estás a fazer, e sobretudo como estás a fazer.

Aqui era fácil perceber o problema...

Um dos vários problemas que muitos colegas meus de programação tiveram, era a lógica...

Podem muito bem saber a sintaxe, mas sem a lógica de como as coisas funcionam, dificilmente chegam lá.

Para seres um bom programador, precisas de ter bom raciocínio que equivale ou é semelhante a ter uma boa lógica de programação...

Abraço,

Rafael.

  • Vote 1

Share this post


Link to post
Share on other sites
PF2G

Foi uma distração, acho que podia acontecer a qualquer um, mas pronto...

Obrigado pela ajuda.

Abraço.

Share this post


Link to post
Share on other sites
HappyHippyHippo

Foi uma distração, acho que podia acontecer a qualquer um, mas pronto...

todos as features (não existem bugs) são distrações !!!


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Virneto

@Pivot... um pouco esticadas estas conclusões todas, mas ok. I'm not in the mood :confused:

A competência (seja em que area for) adquire-se pela aprendizagem (o que dá trabalho e implica resolução de problemas), processo este que de resto, podemos verificar/acompanhar/confirmar diariamente aqui no p@p para uns milhares pessoas. :thumbsup:

Neste caso concreto, eu não teria chegado facilmente à resposta.... mas deu-me gozo aprender :cheesygrin:

Have fun!

Edited by Virneto

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
HappyHippyHippo

Neste caso concreto, eu não teria chegado facilmente à resposta.... mas deu-me gozo aprender :cheesygrin:

gostava de saber a tua opinião:

- deu-te gozo porque a resposta não te foi directamente apresentada, ou porque o problema em si era peculiar o suficiente para aguçar a curiosidade ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Virneto

@Happy,

deu-me gozo porque aprendo uma coisa nova e fico melhor preparado.

Das hipóteses que dás.... 1.º o problema desperta a curiosidade e, só depois, a resposta que não é directamente apresentada e as pistas, aguçam a curiosidade e incentivam ao raciocínio.

Neste caso eu não estava mesmo a olhar para a parte do código onde estava o problema. Como de resto se repara pelas sugestões que dei ao @PF2G.


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
Devexz

O problema de muitos ditos "programadores" é a lógica da "coisa"...

Para programares precisas de perceber o que estás a fazer, e sobretudo como estás a fazer.

Aqui era fácil perceber o problema...

Um dos vários problemas que muitos colegas meus de programação tiveram, era a lógica...

Podem muito bem saber a sintaxe, mas sem a lógica de como as coisas funcionam, dificilmente chegam lá.

Para seres um bom programador, precisas de ter bom raciocínio que equivale ou é semelhante a ter uma boa lógica de programação...

Abraço,

Rafael.

3srv8a.jpg

  • Vote 1

Ás vezes, mais vale deixar a assinatura em branco.

Share this post


Link to post
Share on other sites
I-NOZex

O problema de muitos ditos "programadores" é a lógica da "coisa"...

Para programares precisas de perceber o que estás a fazer, e sobretudo como estás a fazer.

Aqui era fácil perceber o problema...

Um dos vários problemas que muitos colegas meus de programação tiveram, era a lógica...

Podem muito bem saber a sintaxe, mas sem a lógica de como as coisas funcionam, dificilmente chegam lá.

Para seres um bom programador, precisas de ter bom raciocínio que equivale ou é semelhante a ter uma boa lógica de programação...

Abraço,

Rafael.

Nem sequer sao programadores, ser programador nao é saber a sintaxe, nao é a toa qe se começa por aprender algoritomia ;)

Edited by I-NOZex

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

beat2revolution.net

Share this post


Link to post
Share on other sites
Pivot

Foi uma distração, acho que podia acontecer a qualquer um, mas pronto...

Obrigado pela ajuda.

Abraço.

Distracções acontecem a todos, correto.

Mas não estou a crucificar-te porque te distrais-te.

Aliás, se fosse só distracção, não terias vindo aqui ao P@P, porque tinhas logo visto onde estava o problema :P

A questão, é que não foi distração, mas sim uma falha na lógica...

No entanto também por vezes falhamos na lógica, não é aí novamente que está o problema.

Mas, se tentasses resolver os problemas com as dicas do Hippo terias tido mais proveito.

Logo, se não percebeste as dicas do Hippo, é porque tens dificuldades na lógica.

Apenas isso que quis dizer na minha mensagem.

Bom estudo! ;)

Abraço,

Rafael.

Share this post


Link to post
Share on other sites
Virneto

@Pivot... I mean no harm, but…

Aqui era fácil perceber o problema...

Claro que era! Por isto chegáste-te logo à frente e deste pistas e, só depois deste a solução.

O problema de muitos ditos "programadores" é a lógica da "coisa"...

...

Mas não estou a crucificar-te porque te distrais-te.

Aliás, se fosse só distracção, não terias vindo aqui ao P@P...

???

A questão, é que não foi distração, mas sim uma falha na lógica...

No entanto também por vezes falhamos na lógica...

huh???

Logo, se não percebeste as dicas do Hippo, é porque tens dificuldades na lógica.

Não percebo.

Porque é que pensas que sabes se os outros se esforçam ou não se esforçam o suficiente... Se estão a tentar muito ou pouco?

E porque é que achas que podes classificar as dificuldades dos outros? Não serão porventura as tuas dúvidas, fáceis, aos olhos de alguém?

Tudo bem que tu é que és o "dito programador", mas...

Acho que devias rever a tua lógica...

  • Vote 1

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
Pivot

@Pivot... I mean no harm, but…

Claro que era! Por isto chegáste-te logo à frente e deste pistas e, só depois deste a solução.

???

huh???

Não percebo.

Porque é que pensas que sabes se os outros se esforçam ou não se esforçam o suficiente... Se estão a tentar muito ou pouco?

E porque é que achas que podes classificar as dificuldades dos outros? Não serão porventura as tuas dúvidas, fáceis, aos olhos de alguém?

Tudo bem que tu é que és o "dito programador", mas...

Acho que devias rever a tua lógica...

Enfim, não vou entrar em guerrinhas infantis, porque acho que estamos todos aqui para o mesmo, para nos ajudar-mos.

No entanto, não vou deixar de comentar o seguinte:

Porque é que pensas que sabes se os outros se esforçam ou não se esforçam o suficiente... Se estão a tentar muito ou pouco?

E porque é que achas que podes classificar as dificuldades dos outros? Não serão porventura as tuas dúvidas, fáceis, aos olhos de alguém?

Tudo bem que tu é que és o "dito programador", mas...

Acho que devias rever a tua lógica...

Para já, eu não penso que sei, nem sei, se quem coloca a questão se esforça ou não o suficiente, mas acho que a questão era simples.

Se não era para ti, pronto, é o teu ponto de vista.

Eu não classifiquei a dificuldade de ninguém, portanto não sei em que palavras te baseias para dizeres isso...

Rever a lógica? Não sei, mas tinha 20's em algoritmia :P

Não me cheguei à frente porque se calhar para "testarmos" ou dar-mos uma opinião que seja, é preciso um pouco de tempo para analisar, coisa que se calhar não tinha na altura...

Venho cá, quando são coisas mais simples e rápidas, até sou capaz de ajudar na hora, agora se envolve um pouco mais de tempo, a questão já é outra.

Não ofendi ninguém, não disse que A, ou B era burro, mas sim, que as dificuldades de lógica seja de quem for, são difíceis de se adquirir.

Não percebo também esses "quotes" todos, acho que me expliquei bem naquilo que disse.

Abraço,

Rafael.

Share this post


Link to post
Share on other sites
Virneto

Muito bem então. Eu devo de ter interpretado mal.

Já atualizei a minha perceção das coisas:

Não te chegaste à frente com a resposta porque te faltou o tempo para analisar a questão... e no entanto, dada a resposta pelo Happy, és o primeiro a dizer que era simples e a dissertar sobre as lacunas dos "ditos programadores".

Depois, não achas, não classificaste, nem disseste nada. E claro, apanhas 20's a algoritmia.

Surpreende-me que tanto brilhantismo lógico não detete as falhas do teu discurso.

Mas concordo contigo num aspeto. Este tipo de posts não tem interesse aqui para o fórum, por isto, não o prolonguemos mais.

Have Fun!


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
Pivot

Muito bem então. Eu devo de ter interpretado mal.

Já atualizei a minha perceção das coisas:

Não te chegaste à frente com a resposta porque te faltou o tempo para analisar a questão... e no entanto, dada a resposta pelo Happy, és o primeiro a dizer que era simples e a dissertar sobre as lacunas dos "ditos programadores".

Depois, não achas, não classificaste, nem disseste nada. E claro, apanhas 20's a algoritmia.

Surpreende-me que tanto brilhantismo lógico não detete as falhas do teu discurso.

Mas concordo contigo num aspeto. Este tipo de posts não tem interesse aqui para o fórum, por isto, não o prolonguemos mais.

Have Fun!

Pronto tens razão.

Leva a bicicleta, o carro, a montra e os rebuçados do Preço Certo.

Era simples a questão, não disse que era rápido para analisar a situação, são dois tipos de discurso.

Ser simples a questão não quer dizer que seja rápido para analisar. No entanto, a solução era simples, e ainda mais depois da ajuda do Hippo, percebes?

Eu disse, mas não classifiquei aqui ninguém, nem sequer rotulei alguém com determinado estatuto.

Não disse nem quis dizer que A, B, ou C do fórum, são os "ditos programadores".

Se estou aqui para alguma coisa é.

Não sou, nem mais esperto nem mais inteligente que ninguém.

Cada um com as suas dificuldades, e se reparares não disse que tu ou outra pessoa qualquer são mais inteligentes ou menos inteligentes que eu...

Não crucifiquei ninguém, volto a repetir esta frase...

Apenas disse que (provavelmente) o rapaz/homem tinha dificuldades na lógica.

Bem, espero que tenhas entendido o meu ponto de vista.

Não sou ninguém, tal como todos aqui, para avaliar quem quer que seja...

Aliás, dar opinião é diferente de avaliar...

E só em jeito de conclusão, porque acho que já não vale mesmo a pena estar com este assunto parvo :P

Se não respondi, volto a dizer porque foi.

Não tive tempo, no entanto, respondi 1 hora depois do Hippo responder, mas mais uma vez, não foi a querer denegrir ninguém...

Se quiseres falar em privado, para não estar a encher o tópico de offtopic, estou inteiramente disponível. :)

Abraço,

Rafael.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • 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.