Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

uiLhian

Order By

Recommended Posts

bom esse fotos.fotoCAPA ASC não esta retornando corretamente.

ele me retorna as imagens "embaralhadas" tem "album" que retorna certo ja outros não pega imagem do meio da tabela.

 

o que pode esta ocorrendo ?

$queryOBRAS = $pdo->query("SELECT
obras.obraID as ID,
obras.obraBAIRRO as BAIRRO,
obras.obraCIDADE as CIDADE,
obras.obraUF as UF,
fotos.fotoNOME as FOTO,
fotos.fotoCAPA as CAPA
  FROM
obras
  INNER JOIN fotos ON
fotos.fotoOBRAID = obras.obraID
  GROUP BY obras.obraID
  ORDER BY obras.obraID DESC, fotos.fotoCAPA ASC
 ");

Compartilhar este post


Link para o post
Compartilhar em outros sites

TYPE ?

 

só pra tentar esclarecer/ajudar o problema veio daqui: http://forum.imasters.com.br/topic/508576-usar-uma-funo-de-listar-mais-de-uma-vez/

 

 

eu estava usando assim:

 

 

 

/** function listar3Utimas() {$pdo = conectar();$selectOBRAS = "SELECT obraID,obraBAIRRO,obraCIDADE,obraUF  FROM obras  ORDER BY obraID DESC LIMIT 3";$queryOBRAS = $pdo->query($selectOBRAS);IF ($queryOBRAS->rowCount() !== 0){foreach ($queryOBRAS->fetchAll(PDO::FETCH_OBJ) as $o){$selectFOTOS = "SELECT fotoNOME  FROM fotos   WHERE fotoOBRAID = '%s'  ORDER BY fotoCAPA ASC", $o->obraID;$queryFOTOS = $pdo->query(sprintf($selectFOTOS));IF ($queryFOTOS->rowCount() !== 0){$f = $queryFOTOS->fetch(PDO::FETCH_OBJ);...} **/

e apresentava certo.

ae em conversa nesse topico acima que passei na area de php,

foi passado para usar o inner join para "resumir" o código.

cheguei nesse código acima que mostrei mas não estou obtendo o mesmo resultado que estava antes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

$queryOBRAS = $pdo->query("SELECT `o`.`obraID` AS `ID`, `o`.`obraBAIRRO` AS `BAIRRO`,
  `o`.`obraCIDADE` AS `CIDADE`, `f`.`fotoNOME` AS `FOTO`,
  `f`.`fotoCAPA` AS `CAPA`
  FROM `obras` AS `o` INNER JOIN `fotos` AS `f`
  ON (`f`.`fotoOGRAID` = `o`.`obraID`
  ORDER BY `o`.`obraOD` DESC)");

Compartilhar este post


Link para o post
Compartilhar em outros sites

<p>com todo respeito,</p>

<p>me corrija se estiver errado.</p>

<p>mas não vi diferença desse código pro que postei la em cima,</p>

<p>apenas esta sem o "group" que pra ja não serviria tbm.</p>

<p>se tivesse o group iria listar "errado" igual o código que postei acima.</p>

<p> </p>

<p><img class="bbc_emoticon" src="http://forum.imasters.com.br/public/style_emoticons/default/sad.png" title=":(" /></p>

 

vixi saiu bugado o coments... sad.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o TYPE de fotos.fotoCAPA ?

 

Qual o "tipo" da coluna em questão.

 

CHAR , NUMBER DATE etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

int()

 

 

bom vou tentar "resumir" para tentar obter melhor ajuda.

 

 

como podem ver na imagem o campo "CAPA" que vou mudar para "Posição" depois para melhor "entendimento" tem a posição de cada imagem dentro do seu respectivo "album/obra", o que quero é organizar ele decrescente e crescente assim como as ids das obras.

algo do tipo order BY obraID DESC, fotoCAPA ASC

 

Obs.: ali na linha 12 do select tem um GROUP BY o.obrasID

quando tiro o GROUP BY o.obrasID e uso order BY obraID DESC, f.fotoCAPA ASC funciona ele organiza as duas colunas, mas quando coloco GROUP BY o.obrasID pra mim "formar" um album de cada obra, o f.fotoCAPA ASC não funciona.

 

http://i39.tinypic.com/2hrkfbk.png

2hrkfbk.png

 

 

:(

 

 

 

 

um help por favor... :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

TENTOU

 

 

GROUP BY o.obrasID , f.fotoCAPA

order BY obraID DESC, f.fotoCAPA ASC 

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq está usando Group se a query não tem agregadores (sum,count,avg, etc) ?

 

Tentou só com o ORDER ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu não uso o "group" ele me mostra todas imagens contida na tabela fotos.

usei na tentativa de agrupas as "fotos" por "album/obra".

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu não uso o "group" ele me mostra todas imagens contida na tabela fotos.

mas não é isto que vc quer ?

senão pq ordenar por fotos ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim,

assim cada foto é uma etapa da obra concluida ae quando tem mais fotos adiciono e ele tem que ficar na "frente" como ultima "etapa" pronta. por isso tenho que ordenar por fotoCAPA que na verdade é a posição da foto no album.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que não precisa do agrupamento (Group by) então, bastaria listar TODOS e ordenar da forma que você quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se eu não agrupar não forma "albuns" ou seja vai imprimir todas imgs de todas obras juntas deixando o layout gigantesco e tbnm e sem sentido nenhum.

 

do modo que esta aqui no post #4 eu consigo o resultado que quero.

mas estou tentando "limpar" o script e por isso to nesse encausto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não creio o Order "agrupa" , mas isto é feito na aplicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhorando ...

 

Não creio, o Order já "agrupa" , mas isto é feito na aplicação.

 

Ou seja, o Order By faz um "Agrupamento" , mas a montagem do relatório fica na camada de aplicação.

 

Pois, pelo que entendi, se quer todas as fotos do Id, não ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim...

o que quero é praticamente isso construtorawvaraujo.com .

em portifólio ele lista todas a imagens "agrupada" por cada obra, e a fotoCAPA ordenada tbm.

pois as fotos que estão como "capa" é as ultimas adicionadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece certo, qual o erro na Ordem ?

 

Está ordenando pelo campo certo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.