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

Estou com problemas para exibir as informações na ordem que preciso


Lucca.

Pergunta

Conheço pouco de banco de dados e PHP.

Tenho o seguinte codigo

$sql = "SELECT DISTINCT *, novelas.id, novelas.nome as nomen, novelas.link as linkn FROM c_sessoes LEFT JOIN novelas ON c_sessoes.novelac=novelas.id LEFT JOIN capitulos ON novelas.id=capitulos.novela WHERE c_sessoes.sessao='1' AND novelas.ativar='1' GROUP BY novelas.id ORDER BY capitulos.data DESC LIMIT 5";

Tenho uma tabela NOVELAS com as novelas que estão cadastradas, só apareceram as novelas com o mesmo ID=coluna novelac e que a coluna sessão seja =1;

Depois, a ordem que essas novelas vão aparecer no catalogo é seguindo a ordem dos capítulos postados, ou seja se ultimo capitulo da novela y for o ultimo postado, no catalogo aparece a miniatura da novela Y em primeiro lugar e assim sucessivamente até o limite de 5

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
12 horas atrás, wmsilva191 disse:

Certo;

Não ficou claro qual a sua dificuldade.

Opa! Claro, vou tentar esclarecer melhor

Minha intenção é que no catalogo apareça as produções na ordem conforme vão sendo postadas seus capítulos. Está da forma apresentada ali em cima:

$sql = "SELECT DISTINCT *, novelas.id, novelas.nome as nomen, novelas.link as linkn FROM c_sessoes LEFT JOIN novelas ON c_sessoes.novelac=novelas.id LEFT JOIN capitulos ON novelas.id=capitulos.novela WHERE c_sessoes.sessao='1' AND novelas.ativar='1' GROUP BY novelas.id ORDER BY capitulos.data DESC LIMIT 5";

No site, aparece da seguinte forma

gY8bM8r.png

Porem, os último capítulo postado foi de Forever Young que está em ultimo, deveria ser a primeira, e o penúltimo foi de Antes do fim que está no meio, mas deveria ser o segundo.

Pedi que ele deixe na ordem da tabela capítulos na coluna data, na ordem decrescente, só que parece que não funcionou.

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite,

Você não está utilizando nenhuma função de agregação, por isso não é necessário a utilização do Group By.. Se resultados estiverem repetindo nesse caso opte por analisar os relacionamentos se estão corretos. Também é possível a utilização do comando DISTINCT;

 

Na SQL você manda ordenar pelo campo capitulos.data , você chegou a conferir se as datas estão sequenciais ?

Se o campo de data for do tipo data ( não do tipo datetime ) e existir duas datas iguais, se não me engano o banco vai ordenar segundo algum campo indexado, como por exemplo o ID..

Por exemplo: NOVELA A com ID 1 na data de hoje

Novela B com id2 na data de amanhã..

 

O novela B vem primeiro, porém se você colocar a novela A e novela B com mesma data o novela A vem antes... ( eu não estou lembrado, mas acho que tem alguma coisa a ver)

 

Bom, referente ao SQL aparentemente está correto;  Verifique se as informações no banco de dados estão corretas.

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, wmsilva191 disse:

Boa noite,

Você não está utilizando nenhuma função de agregação, por isso não é necessário a utilização do Group By.. Se resultados estiverem repetindo nesse caso opte por analisar os relacionamentos se estão corretos. Também é possível a utilização do comando DISTINCT;

 

Na SQL você manda ordenar pelo campo capitulos.data , você chegou a conferir se as datas estão sequenciais ?

Se o campo de data for do tipo data ( não do tipo datetime ) e existir duas datas iguais, se não me engano o banco vai ordenar segundo algum campo indexado, como por exemplo o ID..

Por exemplo: NOVELA A com ID 1 na data de hoje

Novela B com id2 na data de amanhã..

 

O novela B vem primeiro, porém se você colocar a novela A e novela B com mesma data o novela A vem antes... ( eu não estou lembrado, mas acho que tem alguma coisa a ver)

 

Bom, referente ao SQL aparentemente está correto;  Verifique se as informações no banco de dados estão corretas.

Olá, obrigado pelos os esclarecimentos

Vendo na tabela capitulos estão as datas estão na sequencia.

Já o campo capitulos.data está no tipo TIMESTAMP, predefinido CURRENT_TIMESTAMP

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...