Jump to content


Photo

[Resolvido] Anuncio Em Consulta Sql


  • Faça o login para participar
8 replies to this topic

#1 Willian da Silva

Willian da Silva

    Turista

  • Usuários
  • 58 posts
  • Sexo:Masculino

Posted 03/03/2010, 09:52

Bom dia, gostaria de saber se é possivel em uma consulta sql com php retornar anuncios, por exemplo, a cada 4 resultados um retorna como anuncio.

_____________
|Consulta 1
|consulta 2
cnsulta 3
consulta 4
Anuncio

Obrigado

#2 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 03/03/2010, 10:27

e o que seria esse anuncio?

Você pode fazer um "for" com um contador. Quando esse contador chegar a 5, coloca um anuncio e depois volta normalmente!

e o que seria esse anuncio?

Você pode fazer um "for" com um contador. Quando esse contador chegar a 5, coloca um anuncio e depois volta normalmente!

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#3 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 03/03/2010, 11:17

Bom dia amigo.

Acredito que o % (MOD) resolva seu problema.
Dentro da repetição você adicione um se (contador % 5 == 0 ) então exibeAnuncio();

Qualquer coisa é só chamar.

Abraços
Mateus Antunes
Mateus Antunes
MBASistemas

#4 Willian da Silva

Willian da Silva

    Turista

  • Usuários
  • 58 posts
  • Sexo:Masculino

Posted 03/03/2010, 23:27

Fiz assim, mas retornou tudo errado. Está retornando 5 anuncios a cada resultado. Se eu inverto os lugares do anuncio com o resultado dai aparece 5 resultados (iguais) e um anuncio, como resolvo? Obrigado.
<?
$buscaSql = mysql_query("SELECT * FROM busca");
$contador = mysql_num_rows($buscaSql);
$qnt = $contador/5;

do {
echo $resultadoSql['bus_link']."</br>";
for($i=0;$i<3;$i++){
echo "anucnio</br>";

}
} while ($resultadoSql = mysql_fetch_assoc($buscaSql));

?>

EXEMPLO


anucnio
anucnio
anucnio
ASP >> Instalando o IIS (Internet Information Services)

anucnio
anucnio
anucnio
ASP >> Introdução ao ASP

anucnio
anucnio
anucnio

Edição feita por: Willian da Silva, 03/03/2010, 23:28.


#5 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 04/03/2010, 08:54

Bom dia amigo, tudo bom?
Troque o for por um if. (no padrão que lhe falei acima)

Abraços
Mateus Antunes
MBASistemas

#6 Willian da Silva

Willian da Silva

    Turista

  • Usuários
  • 58 posts
  • Sexo:Masculino

Posted 04/03/2010, 15:54

Bom dia amigo, tudo bom?
Troque o for por um if. (no padrão que lhe falei acima)

Abraços

Uso o codigo abaixo, mas retorna os dados iguais.

Anuncio
Tipo 1
Tipo 1
Tipo 1
Tipo 1
Tipo 1
Anuncio
Tipo 1
Tipo 1
Tipo 1
Tipo 1
Tipo 1

E não

Anuncio
Tipo 1
Tipo 2
Tipo 3
Tipo 4
Tipo 5
Anuncio
Tipo 6
...



<?
include("conexao.php");

$buscaSql = mysql_query("SELECT * FROM busca");
$contador = mysql_num_rows($buscaSql);

$dados = mysql_fetch_array($buscaSql);

if($contador>0){
		for($i=0;$i<$contador;$i++){
		if(($i%5) == 0){
			echo "anuncio</br>";
			}
$link = $dados['bus_link'];
echo "$link </br>";
 

}

}else{
echo "Nao existe resultado";
}

?>


#7 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 04/03/2010, 16:00

Está faltando a alteração entre os registros do RS.
Adicione esta linha $dados = mysql_fetch_array($buscaSql); no final do seu for.

Isso vai resolver...

Vale depois dar uma olhada em formas melhores de se fazer esse tipo de consulta.

Abraços e até a próxima.
Mateus Antunes
Mateus Antunes
MBASistemas

#8 Willian da Silva

Willian da Silva

    Turista

  • Usuários
  • 58 posts
  • Sexo:Masculino

Posted 04/03/2010, 16:09

RESOLVIDO
Não sei porqeu mas inverti

$dados = mysql_fetch_assoc($buscaSql);
$link = $dados['bus_link'];
if($contador>0){
for($i=0; $i<$contador; $i++){
if(($i%5) == 0){
echo "anuncio</br>";
}

echo "$link </br>";
  

}


Por

if($contador>0){
for($i=0; $i<$contador; $i++){
if(($i%5) == 0){
echo "anuncio</br>";
}
$dados = mysql_fetch_assoc($buscaSql);
$link = $dados['bus_link'];
echo "$link </br>";
  

}


e deu certo.

O codigo inteiro é.

<?PHP
include("conexao.php");

$buscaSql = mysql_query("SELECT * FROM busca");
$contador = mysql_num_rows($buscaSql);


if($contador>0){
		for($i=0; $i<$contador; $i++){
		if(($i%5) == 0){
			echo "anuncio</br>";
			}
$dados = mysql_fetch_assoc($buscaSql);
$link = $dados['bus_link'];
echo "$link </br>";
  

}

}else{
echo "Nao existe resultado";
}

?>

Está faltando a alteração entre os registros do RS.
Adicione esta linha $dados = mysql_fetch_array($buscaSql); no final do seu for.

Isso vai resolver...

Vale depois dar uma olhada em formas melhores de se fazer esse tipo de consulta.

Abraços e até a próxima.
Mateus Antunes

Obrigado deu certo.

#9 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 08/03/2010, 13:52

Claro.

Se você não invertesse, você estaria retornando 1 resultado.
Invertendo, você choga o array dentro do loop, e a cada rodada, ele renovava o array com o próximo índice.

Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq