Ir para conteúdo

POWERED BY:

Arquivado

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

Rodrigo Tschope

Mostrar foto por autor

Recommended Posts

Oi povo, seguinte, eu fiz um sistema de foto com base no FancyUpload. Pra ele dar certo existe uma tabela foto e uma tabela com dados do evento. beleza.. Ai tem o evento, o primeiro cara que fez o evento eh o primeiro autor. No meu sistema pessoas podem acrescentar foto, e quem acrescenta é automaticamente outro autor. Então o evento de id 25 tem 10 fotos do 1º autor, 20 fotos do segundo autor.

 

Como eu faço pra minha consulta do SQL dividir a situação por autor?! Eu tive até uma ideia mas nao deu certo

 

 

$id =$_GET['id'];$puxa_autor_fotos = mysql_query("SELECT * FROM fotos WHERE id_evento = $id , COUNT( autor ) GROUP BY autor HAVING COUNT( autor ) >=1");$foto_autor_assoc = mysql_fetch_assoc($puxa_autor_fotos);

só que aparece esse erro: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\apache2triad\htdocs\familyhome\evento.php on line 196

 

Se eu tiro o WHERE ele sai dividindo por autor sim, assim:

 

Rodrigo:

 

FOTO 1 - Foto2

 

Francisco:

 

Foto 1 - Foto2

 

Mas ele num seleciona por codigo de evento, ele coloca todas as fotos do Rodrigo, do Franscisco, sem filtrar o numero do evento. E ai povo, alguem sabe?1 Valeus!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po.. desculpe a demora... a estrutura eh basicamente assim:Tabela Eventos:iddescricaoautordataTabela Fotos:idfotoid_eventoautorSerá q isso ajuda?! obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

já entendi o erroselect * não comporta o uso de "group by"você terá que especificar os campos SELECT campo1, campo2, campo3 .... group by...

Compartilhar este post


Link para o post
Compartilhar em outros sites

??

 

coloca os nomes dos campos que você quer que retorne...

 

 

SELECT * FROM fotos

SELECT campo1, campo2, campo3 FROM fotos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua o mesmo erro.... mesmo eu especificando que dados puxar da tabela... da um look no codigo

 

$puxa_autor_fotos = mysql_query("SELECT id, foto, id_evento, autor FROM fotos WHERE id_evento = $id , COUNT( autor ) GROUP BY autor HAVING COUNT( autor ) >=1");$foto_autor_assoc = mysql_fetch_assoc($puxa_autor_fotos);$i = 0;do {$autor_foto = $foto_autor_assoc['autor'];if(!$autor_foto == ''){echo "<p align='left'>Fotos adicionadas por <b>".$autor_foto."</b><p>";}$puxa_fotos = mysql_query("SELECT * FROM fotos WHERE id_evento = $id AND autor = '$autor_foto'");$foto_assoc = mysql_fetch_assoc($puxa_fotos);do {$foto = $foto_assoc['foto'];echo "<a href='gd.php?a=".$foto."&q=100&w=500&n=homefamily".$i++.".jpg' rel='lightbox[roadtrip]'><img border=\"0\" name=\"Image1\" src=\"gd_thumb.php?a=".$foto."&q=100&w=".$largura."&n=homefamily_thumb".$i.".jpg\"></a>   ";} while($foto_assoc = mysql_fetch_assoc($puxa_fotos));} while($foto_autor_assoc = mysql_fetch_assoc($puxa_autor_fotos));

Valeu ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a mensgem de erro que retorna ?quando utilizar a clausula "HAVING"junto com "GROUP BY"você deve especificar todos os campos dentro de "GROUP BY"

Compartilhar este post


Link para o post
Compartilhar em outros sites

da esse erro aqui:Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\apache2triad\htdocs\tschope\familyhome\evento.php on line 167linha 167 = $foto_autor_assoc = mysql_fetch_assoc($puxa_autor_fotos);especificar todos os campos como?! depois do Group By!? Valeu mesmo cara.. abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas cara... na boa... eu to especificando o unico campo que quero, que é o autor... tah especificado tudo, por isso nao estou entendo o erro... Se eu não soubese o erro não estaria perguntando... e mesmo que seja erro primario, o forum eh pra se tirar duvidas... se você não tem paciencia para o mesmo, como se tornou moderador?! Não estou julgando que tem habilidade ou não para ser moderador, mas analisa bem meu caso.... Eu faço tudo que você falou... especifico o campo em group by e em having.. e mesmo assim o erro persiste... Não sei mais oq fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rodrigo,primeiramente quero dizer que nao sou superior a ninguem a aqui no forum. meu trabalho aqui é voluntárioLeio mais de 100 topicos / dia. Você é 1 entre milhares que vêem aqui perguntar.Sugiro que participe ajudando outros usuarios, pois foi assim que aprendi ao longo desses 10 anos trabalhando com webquanto a sua questão. já vi esse problema diversas vezes postadas por outros usuarios do forumessa mensagem de erro quer dizer que há erros na sintaxe SQL"supplied argument is not a valid MySQL result resource"eu nao posso dizer com certeza o que está acontecendo. Não estou vendo o que você está fazendo nem como está fazendo. Entende ?a primeira coisa que você deve fazer é debugar o scriptqualquer programador faz isso. Debuga o código pra encontrar o problema e a partir daí encontrar uma soluçãotenho uma perguntavocê já tentou depurar o script pra encontrar o problema ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe se interpretei mal você, mas achei você um pouco rude em sua resposta. Desencana.... sem problemas...então... eu postei meu codigo completo... Nao depuro o codigo nao... alias nao conheço nem um programa que faz isso... você poderia me indicar?1 obrigado!E Desculpa qualquer coisa... eu custumo ajudar tb no forum, sempre que me sobra tempo... Mas valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

tudo bem.

 

entao..

 

o lance de depurar é na mão mesmo

 

ou você pode tentar utilzilar uma plataforma de desenvolvimento como o ZEND FrameWork, mas é pesado

 

o esquema de depurar na mão é simples

 

 

por exemplo

 

a mensagem de erro diz que tem erro na instrução SQL

 

então, antes de enviar a query para o mysql_query(SQL)

 

faça isso:

PHP
echo AQUI A QUERY; exit;

 

exit é um comando que manda interromper a execução do script da página.

apenas o que estiver antes do exit será executado.

 

com isso você poderá ver como está sendo formatada a query string

 

faça isso e poste aqui o que apareceu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse jeito ajudou sim... foi mais rapido de depurar.... eu errei uma porcaria de uma virgula fora de lugar e repetir duas vezes a mesma coisa.... tipo coloquei COUNT 2 vezes.... mas num da nada... de qualqquer forma agradeço muito a atenção e valeu ai pessoal do iMasters!!

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.