Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Giullyanny

[Resolvido] busca no bd num mostra o 1º registro

Recommended Posts

amigos tenho este codigo.:

 

<?php
if (basename($_SERVER['PHP_SELF']) == basename(__FILE__)){
echo "<script>alert('Este arquivo não pode ser acessado diretamente.');</script>";
header("Location:../");
}
?>
<script type="text/javascript">

jQuery(document).ready(function() {
   jQuery('#nav').jcarousel();
});

</script>
<style type="text/css">
.jcarousel-skin-tango .jcarousel-container {}
.jcarousel-skin-tango .jcarousel-direction-rtl {direction: rtl;}
.jcarousel-skin-tango .jcarousel-container-horizontal { margin:0 auto; width: 880px; padding: 20px;}
.jcarousel-skin-tango .jcarousel-clip-horizontal { margin:0 auto; width: 880px; height: 66px;}
.jcarousel-skin-tango .jcarousel-item {width: 100px; height: 66px;}

/**
*  Horizontal Buttons
*/
.jcarousel-skin-tango .jcarousel-next-horizontal { position: absolute; top: 43px; right:10px; cursor: pointer; background: url(_img/bt_galeria_pro.gif) 0 0;}
.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-next-horizontal {background: background: url(_img/bt_galeria_pro.gif);}
.jcarousel-skin-tango .jcarousel-prev-horizontal {position: absolute; top: 43px; cursor: pointer; background: url(_img/bt_galeria_ant.gif) 0 0;}
.jcarousel-skin-tango .jcarousel-direction-rtl .jcarousel-prev-horizontal {background: background: url(_img/bt_galeria_pro.gif);}
</style>

<div id="ger-pag">
<p class="titulo_pag"><p class="titulo_pag"><img src="_img/title_galerias2.png" title="GALERIAS" /></p>
<?php
$qG = mysql_query("SELECT * FROM galerias");
if (isset($_GET['id'])){
$sqlImgGalerias = "SELECT * FROM galerias INNER JOIN galerias_img WHERE galerias.IdGalerias=".$_GET['id']." AND galerias_img.idGalerias=".$_GET['id'];
$queryImgGalerias = mysql_query($sqlImgGalerias) or die (mysql_error());
$rowImgGalerias = mysql_fetch_object($queryImgGalerias);
?>
<p class="titulo_noticia"><?php echo $rowImgGalerias->tituloGalerias; ?></p>
   <p class="desc_noticia"><?php echo $rowImgGalerias->descGalerias; ?></p>
   <p class="data"><?php echo implode('/', array_reverse(explode('-', $rowImgGalerias->dataGalerias))); ?></p>
   <div id="galeria">
       <div id="slideshow" class="pics">
<?php
while($rowImgGalerias = mysql_fetch_object($queryImgGalerias)){
?>
	<img class="img_gals" src="_img/_upload/galerias/<?php echo $rowImgGalerias->pastaGalerias; ?>/<?php echo $rowImgGalerias->imgImgGalerias;?>" height="500" />
<?php
}
?>
       </div>
       <ul id="nav" class="jcarousel-skin-tango"></ul>
</div> <!-- galeria -->
<?php
} else {
$sql2 = "SELECT * FROM galerias ORDER BY dataGalerias DESC";
$query2 = mysql_query($sql2) or die (mysql_error());
while($row2 = mysql_fetch_object($query2)){
?>

   <p class="listNot"><a href="?nav=fotos&id=<?php echo $row2->idGalerias; ?>">
       <img width="140" height="100" src="_img/_upload/galerias/<?php echo $row2->imgGalerias; ?>" />
       <strong><?php echo $row2->tituloGalerias; ?></strong><br />
       <cite><?php echo strip_tags(limitarTexto($row2->descGalerias, 50)); ?></cite><br />
       <i><?php echo implode('/', array_reverse(explode('-', $row2->dataGalerias))); ?></i></a>
   </p>
<?php
		}
}

if (isset($_GET['id'])){
?>
<fieldset><legend> Mais Notícias </legend>
<ul>
<?php
$sql3 = "SELECT * FROM galerias ORDER BY dataGalerias DESC LIMIT 0,20";
$query3 = @mysql_query($sql3);
if ($query3){
	while($row3 = mysql_fetch_object($query3)){

?>
   	<li><a href="?nav=fotos&id=<?php echo $row3->idGalerias; ?>" title="<?php echo strip_tags(limitarTexto($row3->paragrafosGalerias, 70)); ?>"><?php echo implode('/', array_reverse(explode('-', $row3->dataGalerias))); ?> - <?php echo $row3->tituloGalerias; ?></a></li>
<?php
	}
}
}
?>
   </ul>
</fieldset>
</div>

 

na galeria ele apresenta somente da segunda imagem para frente e num sei o pq realmente, a primeira imagem ela n aparece

 

somente a galeria seria esse.:

 

<?php
$qG = mysql_query("SELECT * FROM galerias");
if (isset($_GET['id'])){
$sqlImgGalerias = "SELECT * FROM galerias INNER JOIN galerias_img WHERE galerias.IdGalerias=".$_GET['id']." AND galerias_img.idGalerias=".$_GET['id'];
$queryImgGalerias = mysql_query($sqlImgGalerias) or die (mysql_error());
$rowImgGalerias = mysql_fetch_object($queryImgGalerias);
?>
<p class="titulo_noticia"><?php echo $rowImgGalerias->tituloGalerias; ?></p>
   <p class="desc_noticia"><?php echo $rowImgGalerias->descGalerias; ?></p>
   <p class="data"><?php echo implode('/', array_reverse(explode('-', $rowImgGalerias->dataGalerias))); ?></p>
   <div id="galeria">
       <div id="slideshow" class="pics">
<?php
while($rowImgGalerias = mysql_fetch_object($queryImgGalerias)){
?>
	<img class="img_gals" src="_img/_upload/galerias/<?php echo $rowImgGalerias->pastaGalerias; ?>/<?php echo $rowImgGalerias->imgImgGalerias;?>" height="500" />
<?php
}
?>
       </div>
       <ul id="nav" class="jcarousel-skin-tango"></ul>
</div> <!-- galeria -->

 

exatamente no while, as imagens aparece mas somente a 1ª não

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você ta fazendo o while duas vezes para a mesma coisa....eu já tive este problema ai sempre pula o primeiro registro

 

olha:

$rowImgGalerias = mysql_fetch_object($queryImgGalerias);

while($rowImgGalerias = mysql_fetch_object($queryImgGalerias)){

 

Acredito q seja isso

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para retornar o ponteiro da busca para a linha zero você pode usar a função a baixo:

mysql_data_seek($queryImgGaleria, 0);

 

Como no exemplo abaixo:

<?php
       mysql_data_seek($queryImgGalerias, 0);
       while($rowImgGalerias = mysql_fetch_object($queryImgGalerias)){
?>
               <img class="img_gals" src="_img/_upload/galerias/<?php echo $rowImgGalerias->pastaGalerias; ?>/<?php echo $rowImgGalerias->imgImgGalerias;?>" height="500" />
<?php
       }
?>

 

Qualquer dúvida sobre está função consulte o manual do PHP: http://www.php.net/manual/pt_BR/

Compartilhar este post


Link para o post
Compartilhar em outros sites

marcosfj01, é msm tinha isso lá msm, mas num sabia q fazendo fora do while e depois fazendo o while ele continuava a contagem n, obrigado marcosfj01

 

romabeckman obrigado pela função num sabia q podia reiniciar a contagem, obrigado.

 

obrigado a todos deu certim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Só você executar 1 query no while que vai dar certo:

 

while($rowImgGalerias){
comandos
}

 

Valeu ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

De boa cara, lembro quando isso aconteceu comigo que por distração coloquei dos while fiquei quebrando a cabeça com o q tava acontecendo pra pular o primeiro registro da tabela quando era somente isso

 

Q bom q deu certo

 

Falou

Compartilhar este post


Link para o post
Compartilhar em outros sites
Back_on

 

Olá! Só você executar 1 query no while que vai dar certo

eu precisava de um fora do while e outro dentro, podem perceber q juntei duas tabelas, em uma tinha os dados da galeria(titulo, data, subtitulo e etc) e n outra somente fotos... por isso usei o mysql_fetch_object fora do while e outro dentro do while para listas as fotos...

 

 

ficou massa, obrigado galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você também pode esperimentar um LOOP dentro do LOOP. Ou seja, um foreach dentro do while, ou vice-versa (também while dentro do while, como preferir). Fiz isso uma vez com um script de "projetos" ne um site, a lógica era:

Tenho perfil dos usuários e os projetos:

Com um while eu fazia LOOP na tabela do perfil

Com outro LOOP, eu relacionava a tabela do perfil, junto a tabela de projetos.

Ligada os 2 via por uma cédula com o nome de ID.

 

Exemplificando:

<?php 
$qry = mysql_query("SELECT*FROM perfil");
$lista = mysql_fetch_array($qry);
 while($lista){
$usuario = $lista['id'];
 $qry2 = mysql_query("SELECT*FROM projetos WHERE id='$usuario'");
   $lista2 =  mysql_fetch_array($qry2);   
while($lista2){
echo $lista2['projetos'];
} }

 

Ou seja, eu estou gerando um LOOP para procurar os usuarios, e outro LOOP dentro para procurar os PROJETOS dos mesmos.

 

PS: Isso é um resumo do meu script, só para entender a lógica.

 

Glossário

LOOP: Paradoxo, "Fazer um circulo de oito".

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.