Jump to content


André Figueiredo

Member Since 24/02/2009
Offline Last Active 17/11/2011, 16:52
-----

Posts I've Made

In Topic: Galeria De Fotos

17/11/2011, 15:19

Acho que num deu nao..rs esses codigos me deixam loko...mas vamos lá..

tentei dessas duas formas:

<?
$i=0;
$SQL = "SELECT *, DATE_FORMAT(data,'%d/%m/%Y') as data1 FROM tbgalerias WHERE flag_status=1 ".$busca." ORDER BY data DESC";
$Lista = new Consulta($SQL,4,$PGATUAL);
while ($linha = db_lista($Lista->consulta)) { $i++;
$linha['qtfotos'] = db_linhas(db_consulta("SELECT id_foto FROM tbgalerias_fotos WHERE flag_status=1 AND id_galeria=".$linha['id_galeria']));

//a variavel coluna possui o mesmo princípio da variavel $i , ou seja é somada a cada passagem do while: $colunas++

//assim basta fazer a verificação
if($colunas==2){
//fecha a linha e começa outra linha
echo "</td></tr><tr><td>"
//é importante zerar a variável $colunas para que se possa fazer novamente uma quebra de linha quando chegar nas fotos 6 a 9
$colunas = 0;
}
?>



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

e tbm assim:

<?
$i=0;
$SQL = "SELECT *, DATE_FORMAT(data,'%d/%m/%Y') as data1 FROM tbgalerias WHERE flag_status=1 ".$busca." ORDER BY data DESC";
$Lista = new Consulta($SQL,4,$PGATUAL);
while ($linha = db_lista($Lista->consulta)) { $i++;
$linha['qtfotos'] = db_linhas(db_consulta("SELECT id_foto FROM tbgalerias_fotos WHERE flag_status=1 AND id_galeria=".$linha['id_galeria']));
?>

<?php
//a variavel coluna possui o mesmo princípio da variavel $i , ou seja é somada a cada passagem do while: $colunas++

//assim basta fazer a verificação
if($colunas==2){
//fecha a linha e começa outra linha
echo "</td></tr><tr><td>"
//é importante zerar a variável $colunas para que se possa fazer novamente uma quebra de linha quando chegar nas fotos 6 a 9
$colunas = 0;
}
?>

In Topic: Galeria De Fotos

17/11/2011, 14:57

Cara puts...perfeito.. funcionou.rs
só tem um problema rs não existe a definição de quantas colunas né.
tipo assim...3 colunas...para 6 fotos
ficam 3 em cima e 3 em baixo

In Topic: Galeria De Fotos

17/11/2011, 14:32

trem doido, nunca vi isso em toda minha vida...aiaiai não deu certo com tabela tbm...

to mandando o arquivo em anexo pra vc dar uma olhada

Tenta tabelar então:

<table cellspacing="0" cellspacing="0">
<tr>
<?
$i=0;
$SQL = "SELECT *, DATE_FORMAT(data,'%d/%m/%Y') as data1 FROM tbgalerias WHERE flag_status=1 ".$busca." ORDER BY data DESC";
$Lista = new Consulta($SQL,3,$PGATUAL);
while ($linha = db_lista($Lista->consulta)) { $i++;
$linha['qtfotos'] = db_linhas(db_consulta("SELECT id_foto FROM tbgalerias_fotos WHERE flag_status=1 AND id_galeria=".$linha['id_galeria']));
?>
<td>

<div class="listagem_galeria">
<div class="img"><img src="../img.php?x=100&y=100&corta=1&img=arquivos/galeria/<?=$linha[' codigo'];?>/capa.jpg" /></div>
<div class="galeriatitulo">
<p class="titulo"><a href="?p=galeria_ver&id=<?=$linha['id_galeria'];?>"><?=utf8_decode($ linha['titulo']);?></a></p>
<p class="data"><b><?=$linha['data1'];?></b> Fotos: <?=$linha['qtfotos'];?></p>

</div>
</div>
<div class="limpar" style="height:15px"></div>
</td>
<?
}
?> 
</tr>
</table>


Opa o arquivo certo é esse aqui!

valeuuu

In Topic: Galeria De Fotos

17/11/2011, 13:33

Engraçado que não funcionou...deveria funcionar, será que existe outra forma


Se eu entendi bem, você quer colocar uma div do lado da outra né?

se for isso basta acrescentar float:left na classe da div no css:
exemplo:

.listagem_galeria{
float:left;
}

Também existe a possibilidade de fazer uma tabela para isso.


In Topic: Galeria De Fotos

17/11/2011, 12:15

Amigo ainda não deu certo, engraçado que parecia se encaixar, mas dar um erro, justamente na linda do "While", eu conseguir fazer com que as notícias aparecessem com o LIMIT, olha só o codigo chmando as noticias, talvez dê uma luz. Valeu pela ajuda


<div id="noticias">
<ul>
<?
$i=0;

$SQL = "
SELECT
tb1.*,
tbnoticias_categorias.*
FROM
(SELECT * FROM tbnoticias ORDER BY data DESC) as tb1
INNER JOIN tbnoticias_categorias ON (tb1.id_categoria = tbnoticias_categorias.id_categoria)
GROUP BY
tb1.id_categoria
ORDER BY
tb1.data DESC
LIMIT 5;
";


$consulta = db_consulta($SQL);
while ($linha = db_lista($consulta)) { $i++;
?>
<li<? if ($i==1) echo ' class="destaque1"'; else if ($i==2) echo ' class="destaque2"'; else if ($i==5) echo ' style="border:0"'; ?>>
<p>
<?=$linha['categoria'];?>
</p>
<a href="?p=noticias_ver&amp;id=<?=$linha['id_noticia'];?>">
<?
if ($i>2) $tamMax = 60; else $tamMax=43;
echo substr(utf8_decode($linha['titulo']),0,$tamMax);
if (strlen($linha['titulo'])>$tamMax) echo '...';
?>
</a> </li>
<?
}
?>
</ul>
</div>




Da forma que você fez realmente só irá mostrar um resultado, para mostrar mais é necessário utilizar um "while" para que mostre todos resultados da consulta
Exemplo:

<?
//altere a variável $query com a consulta desejada
$query = "SELECT * DATE_FORMAT(data,'%d/%m/%Y') as data1 FROM tbgalerias ORDER BY data DESC";
$result = MYSQL_QUERY($query);

//e na hora de escrever os resultados é necessário fazer um while até os resultados acabarem
while($row = mysql_fetch_array($result)){
?>

<div id="img_galeria"><img src="../img.php?x=100&y=100&corta=1&img=arquivos/galeria/<?=$row['codigo'];?>/capa.jpg" /></div>

<div id="galeria_dados">
<p class="subtitulo"><a href="?p=galeria_ver&id=<?=$row['id_galeria'];?>"><?=utf8_decode($row['titulo']);?></a></p>

<!-- Nesta linha você teria que fazer algo parecido para as quantidade de fotos de cada galeria, deixei como estava, mas é o mesmo princípio -->
<p><?=$dados['data1'];?> - <?=$linha['qtfotos'];?> Fotos</p>

<p id="btgaleria"><a href="?p=galeria_ver&id=<?=$row['id_galeria'];?>"><img src="../img/bt_galeria.gif" /></a></p>
</div>
<div class="limpar"></div>

<?
}
?>

<p id="veja"><a href="?p=galeria">Veja outros eventos</a></p>

Qualquer dúvida estou a disposição.


Amigo dei uma repagina no codigo e fiz isso aqui e conseguir já com linha de pensamento da While que vc meu da luz...agora só quero mesmo colocar elas para aparecerem em coluna..tipo 3 colunas. o codigo que deu certo que refiz é esse aqui:

<?
$i=0;
$SQL = "SELECT *, DATE_FORMAT(data,'%d/%m/%Y') as data1 FROM tbgalerias WHERE flag_status=1 ".$busca." ORDER BY data DESC";
$Lista = new Consulta($SQL,3,$PGATUAL);
while ($linha = db_lista($Lista->consulta)) { $i++;
$linha['qtfotos'] = db_linhas(db_consulta("SELECT id_foto FROM tbgalerias_fotos WHERE flag_status=1 AND id_galeria=".$linha['id_galeria']));
?>


<div class="listagem_galeria">
<div class="img"><img src="../img.php?x=100&y=100&corta=1&img=arquivos/galeria/<?=$linha['codigo'];?>/capa.jpg" /></div>
<div class="galeriatitulo">
<p class="titulo"><a href="?p=galeria_ver&id=<?=$linha['id_galeria'];?>"><?=utf8_decode($linha['titulo']);?></a></p>
<p class="data"><b><?=$linha['data1'];?></b> Fotos: <?=$linha['qtfotos'];?></p>

</div>
</div>
<div class="limpar" style="height:15px"></div>

<?
}
?>





Amigo ainda não deu certo, engraçado que parecia se encaixar, mas dar um erro, justamente na linda do "While", eu conseguir fazer com que as notícias aparecessem com o LIMIT, olha só o codigo chmando as noticias, talvez dê uma luz. Valeu pela ajuda


<div id="noticias">
<ul>
<?
$i=0;

$SQL = "
SELECT
tb1.*,
tbnoticias_categorias.*
FROM
(SELECT * FROM tbnoticias ORDER BY data DESC) as tb1
INNER JOIN tbnoticias_categorias ON (tb1.id_categoria = tbnoticias_categorias.id_categoria)
GROUP BY
tb1.id_categoria
ORDER BY
tb1.data DESC
LIMIT 5;
";


$consulta = db_consulta($SQL);
while ($linha = db_lista($consulta)) { $i++;
?>
<li<? if ($i==1) echo ' class="destaque1"'; else if ($i==2) echo ' class="destaque2"'; else if ($i==5) echo ' style="border:0"'; ?>>
<p>
<?=$linha['categoria'];?>
</p>
<a href="?p=noticias_ver&amp;id=<?=$linha['id_noticia'];?>">
<?
if ($i>2) $tamMax = 60; else $tamMax=43;
echo substr(utf8_decode($linha['titulo']),0,$tamMax);
if (strlen($linha['titulo'])>$tamMax) echo '...';
?>
</a> </li>
<?
}
?>
</ul>
</div>





Da forma que você fez realmente só irá mostrar um resultado, para mostrar mais é necessário utilizar um "while" para que mostre todos resultados da consulta
Exemplo:

<?
//altere a variável $query com a consulta desejada
$query = "SELECT * DATE_FORMAT(data,'%d/%m/%Y') as data1 FROM tbgalerias ORDER BY data DESC";
$result = MYSQL_QUERY($query);

//e na hora de escrever os resultados é necessário fazer um while até os resultados acabarem
while($row = mysql_fetch_array($result)){
?>

<div id="img_galeria"><img src="../img.php?x=100&y=100&corta=1&img=arquivos/galeria/<?=$row['codigo'];?>/capa.jpg" /></div>

<div id="galeria_dados">
<p class="subtitulo"><a href="?p=galeria_ver&id=<?=$row['id_galeria'];?>"><?=utf8_decode($row['titulo']);?></a></p>

<!-- Nesta linha você teria que fazer algo parecido para as quantidade de fotos de cada galeria, deixei como estava, mas é o mesmo princípio -->
<p><?=$dados['data1'];?> - <?=$linha['qtfotos'];?> Fotos</p>

<p id="btgaleria"><a href="?p=galeria_ver&id=<?=$row['id_galeria'];?>"><img src="../img/bt_galeria.gif" /></a></p>
</div>
<div class="limpar"></div>

<?
}
?>

<p id="veja"><a href="?p=galeria">Veja outros eventos</a></p>

Qualquer dúvida estou a disposição.


IPB Skin By Virteq