Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

27-05-2010 16:29

Encontrei o jquery cycle plugin e estou tentando adaptá-lo para trabalhar com imagens a partir de um banco de dados.
http://www.malsup.com/jquery/cycle/

Eu encontrei um plugin que trabalha com banners rotativos, mas não possui o controle de tempo (Simple Banner Rotator With PHP, jQuery & MySQL: http://demo.tutorialzine.com/2010/04/si ... y/demo.php), sendo o banner trocado conforme se muda de página. Há alguma sugestão de como posso adaptar o jquery cycle plugin para trabalhar com imagens oriundas em banco de dados (ou seja, com o registro do nome da imagem no BD e a imagem existente numa pasta? Um abraço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

27-05-2010 16:35

Segundo ví no site do jQuery Cycle Plugin as imagens usadas ficam dispostas dessa forma

<div class="pics"> <img src="images/beach1.jpg" width="200" height="200" /> <img src="images/beach2.jpg" width="200" height="200" /> <img src="images/beach3.jpg" width="200" height="200" /> </div>

Ou seja, você só precisa criar sua consulta para obter esse resultado acima.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

27-05-2010 16:46

É o que estou tentando fazer:

echo "<div id=\"banner\"> <img src=\"../../imagens_banners/$a2[BannerGif]\" alt=\"$a2[BannerAlt]\" border=\"0\"></a> </div>

Não está dando certo. Estou tentando a partir do seguinte código de banner aleatório:

$CategoriaID = $_GET[CategoriaID]; echo $CategoriaID; echo "<br>"; $q1 = "select AnuncioID from ztab_anunciosbanners where TipoAnuncioID = '4' and CategoriaID = '$CategoriaID' and StatusAnuncio = 'ativo'"; $r1 = mysql_query($q1) or die(mysql_error()); if(mysql_num_rows($r1) > '0') { while($a1 = mysql_fetch_array($r1)) { $NewBannersArray[] = $a1[AnuncioID]; } $DisplayAnuncioID = array_rand($NewBannersArray); $AnuncioID = $NewBannersArray[$DisplayAnuncioID]; echo "<img src=\"../../imagens_banners/$a2[BannerGif]\" alt=\"$a2[BannerAlt]\" border=\"0\"></a>";


Mas eu não quero banner aleatório, mas em sequência. E o efeito "cycle" não está dando certo.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

27-05-2010 16:49

A abertura e fechamento da div devem estar fora do while

No echo abaixo, o $2... deveria estar assim

echo "<img src=\"../../imagens_banners/".$a2[BannerGif]."\" alt=\"".$a2[BannerAlt]."\" border=\"0\"></a>";
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

27-05-2010 16:58

Para você se situar melhor, vou colocar o código do banner rotativo sem minha adaptação:
<? require_once("conn.php"); $BannerType = "240x90"; $qsb = "select BannerID from banners where BannerType = '240x90' "; $rsb = mysql_query($qsb) or die(mysql_error()); if(mysql_num_rows($rsb) > '0') { while($asb = mysql_fetch_array($rsb)) { $NewBannersArray[] = $asb[BannerID]; } $DisplayBannerID = array_rand($NewBannersArray); $BannerID = $NewBannersArray[$DisplayBannerID]; //get the selected banner info $qsb2 = "select * from banners where BannerID = '$BannerID' "; $rsb2 = mysql_query($qsb2) or die(mysql_error()); $asb2 = mysql_fetch_array($rsb2); $ShowBanner1 .= "<A href=\"counter.php?BannerID=$BannerID\" target=_blank><img src=\"banners/$asb2[BannerFile]\" alt=\"$asb2[BannerAlt]\" border=0 class=adbanner></a>"; $date_now = time(); $this_ip = $_SERVER[REMOTE_ADDR]; $qsb3 = "insert into stats set BannerID = '$BannerID', impressions = '1', mydate = '$date_now', ip = '$this_ip' "; mysql_query($qsb3) or die(mysql_error()); } ?>

Vou verificar o que você disse.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

27-05-2010 17:00

Está falando do cycle ou do segundo script?

E qual erro está dando ai?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

27-05-2010 17:12

A imagem é mostrada mas não há a transição automática para outra imagem. Vou fazer a adaptação para PHP conforme fiz com outros scripts jquery (coloquei o código javascript do jquery dentro de um arquivo php e chamei com include. Tornarei ao post.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

27-05-2010 17:13

O resultado via código fonte tem que ser o mesmo do exemplo de funcionamento do script. Tem que adaptar o resultado para isso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

27-05-2010 17:55

É o que estou tentando fazer. Alterei o código PHP para a chamada das imagens conforme sugeriu e coloquei a DIV fora das tags PHP:

<div id="banner"> <? echo "<img src=\"../../imagens_banners/".$a2[BannerGif]."\" alt=\"".$a2[BannerAlt]."\" border=\"0\"></a> "; ?> </div>

Há a transição da imagem conforme se muda a página, de acordo com o script original de banner rotativo (veja ele limpo acima, sem minha adaptação). Mas não há a transição automática de imagem sem se mudar a página, conforme o valor estabelecido para speed. Não sei se estou certo, mas o banner rotativo conforme o código que coloquei acima, a imagem é alterada ao se dar o refresh na página. Se não houver o refresh, a imagem do banner não muda. Da maneira como quero fazer, não haveria o refresh. Será que há algum conflito?

Encontrei um script que faz o que preciso: banner com jquery cycle + PHP/MySQL. E também tem link com paginação dos banners. Falta adaptar para meu código, mas testei conforme orientado pelo blog e deu certo. Posso passar o link? Pode ser interessante.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

27-05-2010 21:33

Sim. ;)
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

28-05-2010 13:00

Acesse o link http://blog.thiagobelem.net/css/criando ... s-parte-2/ e baixe os arquivos. O código está sem o PHP e MySQL. A parte 3 do tutorial mostra como fazer a alteração, mas não há os arquivos adaptados, cujos códigos insiro a seguir:

Crie-se um banco de dados (no código tem o nome banner_jquery_2) e insira a tabela a seguir:
Banco de Dados banner_jquery_2 - tabela destaques Rodando em localhost # phpMyAdmin MySQL-Dump # version 2.2.6 # http://phpwizard.net/phpMyAdmin/ # http://www.phpmyadmin.net/ (download page) # # Servidor: localhost # Tempo de Generação: Mai 28, 2010 at 11:42 AM # Versão do Servidor: 3.23.49 # Versão do PHP: 4.2.0 # Banco de Dados : `banner_jquery_2` # -------------------------------------------------------- # # Estrutura da tabela `destaques` # CREATE TABLE destaques ( id int(11) NOT NULL auto_increment, titulo varchar(100) NOT NULL default '', link varchar(150) NOT NULL default '', imagem varchar(150) NOT NULL default '', ativo tinyint(1) NOT NULL default '1', PRIMARY KEY (id) ) TYPE=MyISAM; # # Extraindo dados da tabela `destaques` # INSERT INTO destaques VALUES (1, 'teste1', 'http://www.google.com.br', 'destaque1.jpg', 1); INSERT INTO destaques VALUES (2, 'teste2', 'http://www.google.com.br', 'destaque2.jpg', 1);

Crie-se o arquivo mysql_destaques.php:
<?php /* * Configurações do sistema de destaques */ $destaques = array( // Dados de conexão ao MySQL 'mysql' => array( 'servidor' => 'localhost', 'usuario' => 'root', 'senha' => '', 'banco' => 'banner_jquery_2'), // Nome da tabela com os destaques 'tabela' => 'destaques', // Limite máximo de destaques que serão exibidos 'limite' => 5 ); /** * Conexão com o MySQL * * Atenção: Comente as próximas linhas se o seu site já se * conectar com o MySQL fora desse script */ mysql_connect($destaques['mysql']['servidor'], $destaques['mysql']['usuario'], $destaques['mysql']['senha']) OR trigger_error('ERRO: ' . mysql_error()); mysql_select_db($destaques['mysql']['banco']) OR trigger_error('ERRO: ' . mysql_error()); /* * Busca os dados na tabela de destaques */ $sql = "SELECT `titulo`, `link`, `imagem` FROM `{$destaques['tabela']}` WHERE `ativo` = 1 ORDER BY `id` DESC LIMIT {$destaques['limite']}"; $query = mysql_query($sql) OR trigger_error('ERRO: ' . mysql_error()); /** * Loop que traz os dados do MySQL e armazena-os em um array $lista_destaques */ $lista_destaques = array(); while ($registro = mysql_fetch_object($query)) { $lista_destaques[] = $registro; } ?>

Crie-se a pagina index.php (com os arquivos baixados, há o arquivo index.html. Despreze-o e utilize o com extensão .php):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="pt-BR"> <head profile="http://gmpg.org/xfn/11"> <title>Sistema de Destaques - Thiago Belem / Blog</title> <meta name="author" content="Thiago Belem - contato@thiagobelem.net" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!-- CSS --> <link rel="stylesheet" href="css/destaque.css" type="text/css" /> <!-- jQuery --> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="js/jquery.cycle.all.min.js"></script> <script type="text/javascript" src="js/jquery.destaques.js"></script> <!-- Estilos adicionais (apenas para essa página de exemplo) --> <style> h1 { font-size: 20px; color: black; } p.creditos { font-size: 14px; color: black; font-family: Tahoma, Verdana, sans-serif; } </style> </head> <body> <p class="creditos">Página de exemplo - <strong>Sistema de Destaques</strong> - <a href="http://blog.thiagobelem.net/" title="Thiago Belem / Blog">http://blog.thiagobelem.net/</a></p> <!-- destaques --> <?php require_once('mysql_destaques.php'); ?> <?php if (isset($lista_destaques) AND !empty($lista_destaques)) { ?> <div id="blocoDestaques"> <a class="faixa" href="#" title=""><!-- --></a> <ul> <?php foreach ($lista_destaques AS $destaque) { ?> <li> <a href="<?php echo $destaque->link; ?>" title="<?php echo $destaque->titulo; ?>"> <img src="<?php echo $destaque->imagem; ?>" alt="<?php echo $destaque->titulo; ?>" /> </a> <div class="fundo"><!-- --></div> <p><a href="<?php echo $destaque->link; ?>" title="<?php echo $destaque->titulo; ?>"><?php echo $destaque->titulo; ?></a></p> </li> <?php } ?> </ul> </div> <?php } ?> <!-- /destaques --> </body> </html>

Não consegui funcionar o script adaptado para PHP/MySQL com as imagens dentro da pasta img. Então, para testar o script, copie e cole para fora da pasta as imagens destaque1.jpg e destaque2.jpg, cujos nomes estão inseridos no banco de dados. Não consegui chamar a imagem de dentro da pasta img, e essa é a dificuldade que estou tendo em minha adaptação. E precisarei de ajuda nesse sentido. Como está, funciona. Testei, por enquanto, apenas no Opera.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

28-05-2010 15:10

Descobri como se chama a imagem da pasta img: no arquivo index.php, encontre isto:
<img src="<?php echo $destaque->imagem; ?>

E troque por isto:
<img src="img/<?php echo $destaque->imagem; ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

28-05-2010 15:16

Já está ok então o script?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

28-05-2010 15:21

Esse, sim. No meu código, não. Se eu chamo o arquivo isoladamente, no meu código, funciona. Se chamo através de include, não funciona. Deve estar havendo algum conflito. Mas esse exemplo que coloquei funciona direitinho. Poderá servir a alguém.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

28-05-2010 15:26

Como você chama através de include, você deve estar deixando de chamar outros arquivos usados pelo arquivo do include. Verifique ai os diretórios, e se o arquivo chamado no include tem o que precisa.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

28-05-2010 15:40

Cara, na lata! É conforme você disse. Estou chamando o arquivo que contém o código do banner assim:
<? include("../../mostrar_banner/MostrarBannerBct_Cliente.php");?>

Então, chamei a imagem assim, no arquivo chamado:
<img src="../../mostrar_banner/img/<?php echo $destaque->BannerGif; ?>" width=468 height=60 border=0 />

Também no arquivo chamado, assim chamei os arquivos CSS e JS:
<link rel="stylesheet" href="../../mostrar_banner/css/destaque.css" type="text/css" /> <script type="text/javascript" src="../../mostrar_banner/js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="../../mostrar_banner/js/jquery.cycle.all.min.js"></script> <script type="text/javascript" src="../../mostrar_banner/js/jquery.destaques.js"></script>

Obrigado pela força. E se alguém precisar, está tudo mastigadinho. Um abraço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

28-05-2010 15:41

Boa ;)
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

28-05-2010 17:32

Para variar, o IE está dando trabalho. Você pode me dizer como transformar isto:
<img src="../../mostrar_banner/img/<?php echo $destaque->BannerGif; ?>" width=468 height=60 border=0 />

Em algo como isto?
$banner .= "<li> <img src=\"../../mostrar_banner/img/$destaque->BannerGif width=\"468\" height=\"60\" border=\"1\"> </li>";

No que estou tentando fazer, como deve ficar o que está entre img/ e width? E ainda tem as aspas de fechamento.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

28-05-2010 17:38

Tenta assim

$banner .= "<li>
<img src=\"../../mostrar_banner/img/".$destaque->BannerGif."\" width=\"468\" height=\"60\" border=\"1\">
</li>";
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

29-05-2010 03:00

Vou tentar. O que significa o hífen e o sinal de maior que (->) entre as palavras destaque e BannerGif? Não consegui situá-los como operador PHP. Encontrei isto: <= (menor ou igual a) e isto: >= (maior ou igual a). Mas não isto: ->.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

29-05-2010 08:41

O uso do -> é uma associação do nome do campo da tabela com o valor que está armazenado na mesma, sem o uso do while na consulta, por exemplo:

// DADOS DA CONEXÃO $conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error()); $db = mysql_select_db("bd"); $selec = "SELECT * FROM suatabela WHERE campo='este valor'"; $query = mysql_query($selec) or die(mysql_error()); // criando a associação $assoc = mysql_fetch_array($query); // usando a associação // campo é o nome da coluna e irá retornar o valor dela echo $assoc[campo];

Ai com te indiquei acima, quando vai usar essa associação dentro de um echo, deve se usar dessa forma

echo " ".$assoc[nome]." ";
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

29-05-2010 15:58

Obrigado pela dica. Como disse acima, o IE estava dando problema. No meu código, estava dando conflito com o CSS (nos outros navegadores, funcionava ok. Porém, se comentava o link para o arquivo CSS, o comportamento dos mesmos era igual ao do IE. Concluí que o IE estava ignorando o arquivo CSS. Então, comecei a trabalhar com os navegadores sem o CSS, e consegui fazer o alinhamento modificando a tag DIV. Agora, o funcionamento é igual em todos os navegadores nos quais estou testando. Porém, há um problema comum a todos: entre o topo da página e o banner há um espaço equivalente a uma tag <br> (mas nas laterais e embaixo está ok), e acredito que seja algo com a div, com o seu topo. Coloquei em seu style top: 0px mas não resolveu. Há alguma ideia do que ocorra?

<div id="blocoDestaques" align="center" style="width:468px; height:60px; text-align:center; top:0px">

Eu não quero trabalhar com CSS na DIV pois o script já tem um arquivo CSS próprio, e cada coisa que acresço nele faz o menu não funcionar no IE (sempre o IE, se não fosse ele eu já teria terminado, mas como se vai orientar o usuário a não usá-lo, se domina com folga a preferência na navegação?)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

29-05-2010 17:08

Você pode tentar o seguinte código no seu estilo CSS para tentar resetar as configurações de margem nos navegadores.

<style> * { margin: 0; padding: 0; } html { height: 100%; margin-bottom: 0px; } </style>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1282
Sexo: Masculino

jquery cycle plugin com php mysql

29-05-2010 23:17

No meu script, eu coloquei os códigos CSS num arquivo PHP (arquivo_estilos.php) e o chamo através de include. Meu receio era colocar o código CSS do script cycle que estou utilizando nesse arquivo de estilos padrão, e gerar conflito com o menu no IE, como disse atrás. Mas arrisquei fazê-lo, não houve conflito, e o problema foi sanado. Obrigado, novamente, pela força.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

jquery cycle plugin com php mysql

29-05-2010 23:20

:hai:
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]