VinnYSPL 0 Denunciar post Postado Agosto 8, 2009 Ola amigos estou aqui pedindo ajuda pois estou com uma duvida. Tipo eu tenho uma galeria de imagens e quero por o total de fotos. Ela tem os bancos assim Galeria id_galeria , nome_galeria, data_galeria, situacao_galeria Foto Id_foto, nome_foto, id_galeria_foto O que eu quero fazer? Exemplo e pegar a id_galeria=1 mais o total de fotos que tem id_galeria_foto =1 isso em um select mais eu não consigo se alguém pode me ajudar eu fico muito grato. Pois não consigo de jeito nenhum fazer esse select :( E isso ai quem poder ajudar ficarei muito grato. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 9, 2009 Vamos ver.. Galeria id_galeria , nome_galeria, data_galeria, situacao_galeria Foto Id_foto, nome_foto, id_galeria_foto SELECT *, COUNT(Id_foto) AS n_fotos FROM `Galeria` INNER JOIN `Foto` ON `Galeria`.`id_galeria` = `Foto`.`id_galeria_foto` WHERE `Galeria`.`id_galeria` = 1 A idéia, é que te retorne um n_fotos, que seja o número de fotos, nessa galeria com id = 1; Compartilhar este post Link para o post Compartilhar em outros sites
VinnYSPL 0 Denunciar post Postado Agosto 9, 2009 Ola muito obrigada mais eu ainda tenho umas duvidas. Eu não consigo chamar o n_fotos no php tentei usar o $qtd = $resultset['n_fotos']; $quant = mysql_resultset["n_fotos"]; Mas não apareceu nada. A verdade e que não consigo exibir isso. Muito obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 9, 2009 vamos lá... $sql = "SELECT *, COUNT(Id_foto) AS n_fotos FROM `Galeria` INNER JOIN `Foto` ON `Galeria`.`id_galeria` = `Foto`.`id_galeria_foto` WHERE `Galeria`.`id_galeria` = 1 "; $q = mysql_query( $sql ); //você precisa enviar a consulta pro banco $dados = mysql_fetch_assoc( $q );//você guarda o retorno num array associativo echo $dados['n_fotos']; exemplo simples com as mínimas funções necessárias, pensando que você ja fez a conexão com o banco.Qualquer coisa, poste o teu código completo, para vermos como você está fazendo. Compartilhar este post Link para o post Compartilhar em outros sites
VinnYSPL 0 Denunciar post Postado Agosto 9, 2009 <table width="550" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000"> <tr> <td width="121"> Nome da Galeria </td> <td width="119"> Data</td> <td width="121"> Situacao</td> <td width="121"> </td> </tr> <?PHP // Conexão com o banco de dados $conn = @mysql_connect("localhost", "root", "") or die ("Problemas na conexão."); $db = @mysql_select_db("galeria", $conn) or die ("Problemas na conexão"); //Quantidade de Fotos $qnt = "SELECT *, COUNT(id_imagem) AS n_fotos FROM `galeria` INNER JOIN `foto` ON `galeria`.`id` = `foto`.`id_galeria` WHERE `galeria`.`id` = $ft[id_galeria] "; $q = mysql_query( $qnt ); //você precisa enviar a consulta pro banco $dados = mysql_fetch_assoc( $q ); //você guarda o retorno num array associativo //Seleçao da foto $sql1 = mysql_query("SELECT * FROM foto WHERE id_galeria = $Ga[id] ORDER BY id_imagem DESC"); $ft = mysql_fetch_array($sql1); //Lista de Galerias $sql = mysql_query("SELECT * FROM galeria ORDER BY id DESC"); while ($Ga = @mysql_fetch_array($sql)) { //Abre While ?> <tr> <form id="form1" name="form1" method="post" action="viz_gale.php"> <td><?PHP echo $Ga[nome]; ?></td> <td><?PHP echo $Ga[data]; ?></td> <td> <?PHP echo $dados['n_fotos']; ?> <img src="thumb.php?img=figuras/<?php echo $ft[imagem]; ?>" alt=""/></td> <td><label> <div align="center"> <input type="hidden" name="id" value="<?PHP echo $Ga[id]; ?>" /> <input type="hidden" name="nome" value="<?PHP echo $Ga[nome]; ?>" /> <a href="#" onclick="document.form1.submit()"> Vizualizar as Fotos </a> </div> </label></td> </form> </tr> <?PHP } //Fecha While ?> </table> Ai esta meu código. Esta dando erro Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\Sites\SitesPhP\Sites Teste\Galeria\index.php on line 24 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Sites\SitesPhP\Sites Teste\Galeria\index.php on line 29 Se puder dar uma olhadinha eu fico feliz Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 9, 2009 vamos procurar o erro. Use aspas para delimitar as chaves de arrays. $qnt = "SELECT *, COUNT(id_imagem) AS n_fotos FROM `galeria` INNER JOIN `foto` ON `galeria`.`id` = `foto`.`id_galeria` WHERE `galeria`.`id` = {$ft['id_galeria']} "; $q = mysql_query( $qnt )or die( mysql_error() ); //você precisa enviar a consulta pro banco $dados = mysql_fetch_assoc( $q ); //você guarda o retorno num array associativo //Seleçao da foto $sql1 = mysql_query("SELECT * FROM foto WHERE id_galeria = $Ga['id'] ORDER BY id_imagem DESC")or die( mysql_error() ); $ft = mysql_fetch_array($sql1);da onde vem esse array: $Ga ? Compartilhar este post Link para o post Compartilhar em outros sites
VinnYSPL 0 Denunciar post Postado Agosto 9, 2009 Então vamos la vou explicar. O que acontece no código eu exibo a galeria com uma imagem da galeria e com a quantidade de fotos em cada galeria. Isso em uma While na qual tem esse código $sql = mysql_query("SELECT * FROM galeria ORDER BY id DESC"); while ($Ga = @mysql_fetch_array($sql)) Essa array $Ga ele fica responsável pelo id da galeria certo então o que me aconte eu quero que mostre a lista de galerias cadastradas com as nome da galeria que fica na array $Ga[nome_galeria] a foto da galeria que fica $ft[nome_foto] e a quantidade de fotos cadastrada na galeria que fica echo $dados['n_fotos']; mas nao queria o id fixo a 1 a tentei colocar a no lugar do 1 $ft[id_galeria_foto] pra que na hora da while ele pegar a ida while certa deu pra entender ? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 9, 2009 Faça o seguinte. Troque isto $q = mysql_query( $qnt ); Por isto $q = mysql_query( $qnt ) or die('Erro na $qnt - Consulta enviada '.$qnt.'<br/> Erro do Mysql - '.mysql_error()); Isto $sql1 = mysql_query("SELECT * FROM foto WHERE id_galeria = $Ga[id] ORDER BY id_imagem DESC"); Por isto $consulta = "SELECT * FROM foto WHERE id_galeria = $Ga[id] ORDER BY id_imagem DESC"; $sql1 = mysql_query($consulta) or die('Erro na $consulta - Consulta enviada '.$consulta.'<br/> Erro do Mysql - '.mysql_error()); Troque isto $sql = mysql_query("SELECT * FROM galeria ORDER BY id DESC"); Por isto $consulta2 = "SELECT * FROM galeria ORDER BY id DESC"; $sql = mysql_query($consulta2) or die('Erro na $consulta2 - Consulta enviada '.$consulta2.'<br/> Erro do Mysql - '.mysql_error()); Veja o que aparece. Outra coisa. A na consulta $sql1 você usa a $ga, mas ela só e setada mais abaixo no código. O valor dela tem que ser definido antes de usar. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
VinnYSPL 0 Denunciar post Postado Agosto 9, 2009 Opa muito obrigado Carlos Eduardo e William Bruno deu certinho. vlw mesmo. tipo agora eu tenho uma outra duvida na minha pagina aonde eu vizualizo as fotos tem um while mas so fica 1 foto abaixo da outra eu queria deixar em uma lista de 3 uma do lado da outra e abaixo mais 3 e dai por diante. alguem poderia me ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 9, 2009 Aqui tem uma video aula. É sobre catálogo de produtos em listas, mas a lógica é a mesma. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Roberto_S_Luz 2 Denunciar post Postado Agosto 9, 2009 Fico com a dica do matias_rezende. Boa sorte http://forum.imasters.com.br/public/style_emoticons/default/joia.gif . Compartilhar este post Link para o post Compartilhar em outros sites
VinnYSPL 0 Denunciar post Postado Agosto 9, 2009 matias valeu mas essa nao me serviu . pois ali a manual eu quero uma dinamica. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 9, 2009 Depende de como é o HTML que você quer gerar.. você pode fazer com listas, flutuando os LI.. q eles vão quebrar automaticamente.. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 9, 2009 pois ali a manual eu quero uma dinamica. O HTML e o CSS é o mesmo, tanto estático como dinâmico. É só colocar o <li> no laço, que vai quebrar sozinho. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites