Jump to content


Scream_Right

Member Since 05/03/2005
Offline Last Active 28/02/2010, 01:26
-----

Topics I've Started

Slideshow - Buscando Dados Do Mysql

01/06/2009, 18:08

Boa Tarde!

Peguei um sistema de SlideShow do Dirceu Bimont Ivo - http://my.opera.com/bimonti/ muito bacana, já o utilizo a um bom tempo, porém sempre fazia manualmente as alterações de fotos do slide.
No Site do Dirceu ele disponibilizou uma versão com banco de dados, porém nao estou conseguindo adaptá-la para pegar os dados da tabela da Galeria Brasil 3.

A idéia é que quando eu crio uma nova galeria, o slide mostra as últimas 4.

Bom, vou postar os códigos pra vcs verem o funcionamento:

index.html(Detalhe: eu simplifiquei um pouco o slide, nao exibindo botoes de avançar, etc.)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Manual - SlideShow BD</title>

&lt;script type="text/javascript">
	function settings(){
		var el = document.getElementById('settings');
		(el.style.display == 'none') ? el.style.display = 'block' : el.style.display = 'none';
	}
</script>
&lt;script src="slide.php" type="text/javascript"></script>


<link href="slide.css" rel="stylesheet" media="screen" type="text/css" />
</head>

<body onload="slide.start()">
<div id="manual">
	<h3><img src="imgs/book.gif" alt="Manual" /> Manual - SlideShow BD</h3>

	 <!--Slide Start-->
			<div id="pic">
				<a href="" id="linkSlide">
				<img id="slideImg" class="img" />
				<div id="titleSlide"></div>
				</a>
				<div id="textSlide"></div>
			</div>
	 <!--Slide End-->   
</div>
</body>
</html>

slide.php(Original)
<?php

/*
$BD:Slide - version 0.9.4$
$LastModified: 04/02/2006$

Sistema Free para uso pessoal ou comercial contanto que os
créditos permaneçam intactos. Eu já nem estou colocando um
monte de coisa pra não deixar o código pesado. ^^

Maiores Informações:
http://my.opera.com/bimonti/
*/
echo"
slide = {

	// vetor com os slides
	_imagens : [
							
";								/*
								Estrutura da Tabela de Modelo
								+----+------+--------+-----------+------+
								| ID | Path | Título | Descrição | Link |
								+----+------+--------+-----------+------+
								|	|	  |		|		   |	  |
								|	|	  |		|		   |	  |
								+----+------+--------+-----------+------+
								*/
								$query 	= 'SELECT * FROM slide';
								$link 	= mysql_connect('localhost', 'root', '')
													or die('Não foi possível conectar: ' . mysql_error());
												
													mysql_select_db('test')
													or die('Não foi possível selecionar o banco da dados');
								
								$result = mysql_query($query)
													or die('A consulta falhou!: ' . mysql_error());
								$x=0;
								while ($l = mysql_fetch_array($result, MYSQL_ASSOC)) {

									if($x!=0){
										echo ",";
									}
									echo '["'.$l['path'].'","'.$l['title'].'","'.$l['text'].'","'.$l['link'].'"]';
									++$x;
								}
	echo" ],
	// ID dos elementos que o sistema modifica
	// ID da imagem do slide
	_slideImg : 'slideImg',
	// ID do link do slide, ou seja, um elemento A
	_linkSlide : 'linkSlide',
	// ID do título do slide, uma div ou span por exemplo
	_titleSlide: 'titleSlide',
	// ID do título do slide, idêntico ao de cima
	_textSlide : 'textSlide',
	// ID da imagem de play|pause
	_playPause : 'playpause',
	// ID da div que mostra ou esconde as opções de customização de tempo
	// essa opção pode ser omitida do usuário, basta retirar o botão
	// settings da página, e como a div já vem com o display:none por
	// padrão o usuário não terá acesso a essas opções.
	_showTimer : 'showTimer',
	

	// variáveis do sistema
	// Daqui para baixo não é necessário alterar mais nada, aqui o sistema
	// cuidará de tudo
	_count : 0,
	_length : null,
	_timeOutID : null,
	_pause : false,
	_timer : 4,
	
	// função que inicia o slide e seta todas os parâmetros necessários
	start : function(){
		with(this){
			_preLoader();
			_length = _imagens.length;
			_work(); 
		}
	},
	
	// faz o pré-carregamento das imagens
	_preLoader : function(){
		for(x in this._imagens){
			var image = new Image();
			image.src = this._imagens[x][0];
		}
	},
	
	// função principal que faz as checagens necessárias
	_work : function(){
		with(this){
			(_count == _length) ? _count = 0 : (_count < 0) ? _count = _length-1 : void(0);
			var current = _imagens[_count];
			_exchange(current);
			if(!_pause){
				(typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0);
				_timeOutID = setTimeout(
						function(){
							slide.next();
							fade(0,0,$(_slideImg));
						}, (Number(_timer)*1000)
				);
			}
		}
	},
	
	// função que altera os elementos da página, altere os IDs se necessário
	_exchange : function(img){
		this.$(this._slideImg).src = img[0];
		this.$(this._titleSlide).innerHTML = img[1];
		this.$(this._textSlide).innerHTML = img[2];
		this.$(this._linkSlide).href = img[3];
		this.fade(0,100,this.$(this._slideImg));
	},
	
	// altera para o próximo slide ao clicar no botão Próximo
	next : function(){
		with(this){
			_count++;
			_work();
		}
	},
	
	// altera para o slide anterior ao clicar no botão correspondente
	previous : function(){
		with(this){
			_count--;
			_work();
		}
	},
	
	// pausa e continua a apresentação
	pause : function(){
		var img = this.$(this._playPause);
		if(this._pause){
			this._pause = false;
					img.src = 'imgs/pause.gif';
				img.title = 'Parar';
		}
		else{
			this._pause = true;
					img.src = 'imgs/play.gif';
				img.title = 'Continuar';
		}
		with(this){(typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0); _work();}
	},
	
	// controla o tempo de troca de cada slide
	tControl : function(act){
		with(this){
		(act=='m')?((_timer==4)?void(0):_timer=_timer-1):((_timer==9)?void(0):_timer= _timer +1);
			this.$(this._showTimer).innerHTML = _timer+'s';	
		}
		
	},
	
	// altera a opacidade do elemento e suaviza a transição entre os slides
	fade : function (){
		
		var type,signal;
		var from 	= arguments[0];
		var to		= arguments[1];
		var el		= arguments[2];
		
		(document.all) ? type = 'filter' : type = 'opacity';
		(from>to) ? signal = '-' : signal= '+';
		
		if(from >= to/2){
			from = eval(from+signal+10);
		}else{
			from = eval(from+signal+5);
		}
		
		if(type=='opacity'){
			try{el.style[type] = Number(from*0.01); }catch(e){}
		}else{
			try{el.style[type] = 'alpha(opacity='+from+')'; }catch(e){}
		}
		
		if(from != to){
			setTimeout( function(){ slide.fade(from,to,slide.$(slide._slideImg)); } ,50);
		}
	},
	
	// retorna o elemento solicitado através de seu ID
	$ : function(){
		return document.getElementById(arguments[0]);	
	}
}
";?>

Este cógido abaixo é o que eu uso em meu site para simplesmente exibir os 4 ultimos galerias cadastradas, e estou utilizando como base para mudar o slide.php:(não levem em consideração a tabela.)
<?php
include("security/conexao.php");

$query = mysql_query("SELECT * FROM galerias LEFT OUTER JOIN imagens ON img_codigo = gal_codigo_img ORDER BY gal_data DESC LIMIT 4"); 

// Agora exiba o código com a configuraçao de sua tabela - o cabeçalho dela.
?>
<p>
<table cellpadding="0" cellspacing="0">

<?php
// Agora vamos montar o código. Pegue o valor total de resultados: 
$total = mysql_num_rows($query); 
// Defina o número de colunas que voce deseja exibir: 
$colunas = "1"; 
// Agora vamos ao "truque": 
if ($total > 0) { 
	for ($i = 0; $i < $total; $i++) { 
		if (($i % $colunas) == 0) { 
?>

	<tr> 
	<td height="20" colspan="4"> 
		</td>
	</tr>
	<tr> 

<?php
		}
		
		$dados= mysql_fetch_assoc($query);
		
		$dados['gal_data'] = date('d/m/Y', strtotime($dados['gal_data']));
		
		$sql = "SELECT * FROM imagens WHERE img_codigo_gal = ". $dados['gal_codigo'] ." ORDER BY RAND()";
		$img_query = mysql_query($sql);
		
		$cont = mysql_num_rows($img_query);
		
		if (!$dados['img_nome_arquivo'] && $cont > 0) {
			$img = mysql_fetch_assoc($img_query);
			$dados['img_nome_arquivo'] = $img['img_nome_arquivo'];
		}
?>
		<td style="width:100px">
		<?php
		if ($dados['img_nome_arquivo'] != "") {
		?>
			<a href="#ultimas_fotos" onclick="window.open('security/galeria/galeria.php?gal=<?= $dados['gal_codigo']; ?>', 'galeria', 'width=770,height=630,resizable=0,scrollbars=1');">
			<img style="margin:0 10px 0 3px; border:1px solid #999;" src="security/galeria/imagem.php?gal=<?= $dados['gal_pasta']; ?>&img=<?= $dados['img_nome_arquivo']?>&thumb=1" border="1" align="left">
			</a> 
		<?php
		}
		?>
		</td>
		<td style="width:200px;">
			<span style="text-transform: uppercase;">
			<a href="#ultimas_fotos" onclick="window.open('security/galeria/galeria.php?gal=<?= $dados['gal_codigo']; ?>', 'galeria', 'width=770,height=630,resizable=0,scrollbars=1');" style="color:#F1AF25; font-style:italic; font-weight:bold;"><?= $dados['gal_titulo']?></a>
			</span>
			<p style="font-size:11px; text-align:left;">
			Data: <strong><?= $dados['gal_data'];?></strong>
			<br />
			Local: <strong><?= $dados['gal_local']?></strong>
			<br />
			<strong><? echo $cont;?></strong> Fotos.
			</p>
		</td>
		<td width="15"></td>
	<?php
	}
}
	?>
	</tr>
</table>


Bom, eu fui alterando e tals, e cheguei nisso aqui abaixo, que até funcionou, apareceram o titulo da galeria, o local da festa, mas a foto nao exibiu e nem os links apontam para o lugar correto, nao achei onde arrumar isso.

<?php
	include("../security/conexao.php");

	$query = mysql_query("SELECT * FROM galerias LEFT OUTER JOIN imagens ON img_codigo = gal_codigo_img ORDER BY gal_data DESC LIMIT 4"); 
?>

<?php
	$dados= mysql_fetch_assoc($query);
		
	$dados['gal_data'] = date('d/m/Y', strtotime($dados['gal_data']));
		
	$sql = "SELECT * FROM imagens WHERE img_codigo_gal = ". $dados['gal_codigo'] ." ORDER BY RAND()";
	$img_query = mysql_query($sql);
		
	$cont = mysql_num_rows($img_query);
		
	if (!$dados['img_nome_arquivo'] && $cont > 0) {
		$img = mysql_fetch_assoc($img_query);
		$dados['img_nome_arquivo'] = $img['img_nome_arquivo'];
	}
?>

	   
<?php
	echo"
		slide = {
			// vetor com os slides
			_imagens : [
		";											
		while ($l = mysql_fetch_array($query)) {
	
		if($x!=0){
			echo ",";
			}
			echo '["'.$l['img_nome_arquivo'].'","'.$l['gal_titulo'].'","'.$l['gal_local'].'","'.$l['gal_codigo_img'].'"]';
			++$x;
	}
								
	echo" ],
	// ID dos elementos que o sistema modifica
	// ID da imagem do slide
	_slideImg : 'slideImg',
	// ID do link do slide, ou seja, um elemento A
	_linkSlide : 'linkSlide',
	// ID do título do slide, uma div ou span por exemplo
	_titleSlide: 'titleSlide',
	// ID do título do slide, idêntico ao de cima
	_textSlide : 'textSlide',
	// ID da imagem de play|pause
	_playPause : 'playpause',
	// ID da div que mostra ou esconde as opções de customização de tempo
	// essa opção pode ser omitida do usuário, basta retirar o botão
	// settings da página, e como a div já vem com o display:none por
	// padrão o usuário não terá acesso a essas opções.
	_showTimer : 'showTimer',
	

	// variáveis do sistema
	// Daqui para baixo não é necessário alterar mais nada, aqui o sistema
	// cuidará de tudo
	_count : 0,
	_length : null,
	_timeOutID : null,
	_pause : false,
	_timer : 4,
	
	// função que inicia o slide e seta todas os parâmetros necessários
	start : function(){
		with(this){
			_preLoader();
			_length = _imagens.length;
			_work(); 
		}
	},
	
	// faz o pré-carregamento das imagens
	_preLoader : function(){
		for(x in this._imagens){
			var image = new Image();
			image.src = this._imagens[x][0];
		}
	},
	
	// função principal que faz as checagens necessárias
	_work : function(){
		with(this){
			(_count == _length) ? _count = 0 : (_count < 0) ? _count = _length-1 : void(0);
			var current = _imagens[_count];
			_exchange(current);
			if(!_pause){
				(typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0);
				_timeOutID = setTimeout(
						function(){
							slide.next();
							fade(0,0,$(_slideImg));
						}, (Number(_timer)*1000)
				);
			}
		}
	},
	
	// função que altera os elementos da página, altere os IDs se necessário
	_exchange : function(img){
		this.$(this._slideImg).src = img[0];
		this.$(this._titleSlide).innerHTML = img[1];
		this.$(this._textSlide).innerHTML = img[2];
		this.$(this._linkSlide).href = img[3];
		this.fade(0,100,this.$(this._slideImg));
	},
	
	// altera para o próximo slide ao clicar no botão Próximo
	next : function(){
		with(this){
			_count++;
			_work();
		}
	},
	
	// altera para o slide anterior ao clicar no botão correspondente
	previous : function(){
		with(this){
			_count--;
			_work();
		}
	},
	
	// pausa e continua a apresentação
	pause : function(){
		var img = this.$(this._playPause);
		if(this._pause){
			this._pause = false;
					img.src = 'imgs/pause.gif';
				img.title = 'Parar';
		}
		else{
			this._pause = true;
					img.src = 'imgs/play.gif';
				img.title = 'Continuar';
		}
		with(this){(typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0); _work();}
	},
	
	// controla o tempo de troca de cada slide
	tControl : function(act){
		with(this){
		(act=='m')?((_timer==4)?void(0):_timer=_timer-1):((_timer==9)?void(0):_timer= _timer +1);
			this.$(this._showTimer).innerHTML = _timer+'s';	
		}
		
	},
	
	// altera a opacidade do elemento e suaviza a transição entre os slides
	fade : function (){
		
		var type,signal;
		var from 	= arguments[0];
		var to		= arguments[1];
		var el		= arguments[2];
		
		(document.all) ? type = 'filter' : type = 'opacity';
		(from>to) ? signal = '-' : signal= '+';
		
		if(from >= to/2){
			from = eval(from+signal+10);
		}else{
			from = eval(from+signal+5);
		}
		
		if(type=='opacity'){
			try{el.style[type] = Number(from*0.01); }catch(e){}
		}else{
			try{el.style[type] = 'alpha(opacity='+from+')'; }catch(e){}
		}
		
		if(from != to){
			setTimeout( function(){ slide.fade(from,to,slide.$(slide._slideImg)); } ,50);
		}
	},
	
	// retorna o elemento solicitado através de seu ID
	$ : function(){
		return document.getElementById(arguments[0]);	
	}
}
";?>

Por gentileza, dêem-me uma ajuda ^^ Muito Obrigado!

Vídeos E Transferencia Mensal

27/04/2009, 15:21

Ola amigos, desculpem se coloquei o tópico no lugar errado, nao sabia bem aonde colocar.

Pois bem...

Minha dúvida é a seguinte, vou fazer um site para um programa de TV, o cliente deseja colocar o vídeo inteiro do programa que é aproximadamente 80min e em torno de 4Gb.

Como proceder?

Em outros casos costumo usa o youtube, só q o mesmo aceita apenas 10min e 1gb. E meu cliente quer o programa inteiro sem cortes...


O meu servidor me disponibiliza 120Gb de transferencia mensal... e a cada Gb excedido vai me custar 10,00 a mais...


Alguem já esteve nesta situaçã? O que vcs me sugerem?

Como Fazer?

10/03/2009, 18:36

Olá!

Procurei por varios fóruns e google afins, li alguns livros sobre XML mas nao consegui sacar como fazer pra mim puxar noticias por exemplo da UOL e colocá-las em meu site formatando do jeito q eu achar melhor...

Queria fazer algo como foi feito neste site: www.bemnessa.com.br no quadro de Ultimas notícias...

Se alguem puder me dar uma ajuda, ficarei imensamente grato!
Abraços!

Notícias Do Site Uol

22/10/2008, 14:38

Boa Tarde!

Gostaria de colocar as noticias do site uol na minha página, da mesma maneira que foi feita neste site http://www.agitojuina.com.br, aparecendo a foto e a noticia embaixo...

Pesquisei no site da UOL mas nao tem nenhuma opção parecida com isso, tem apenas os tais widgets...

Alguem pode me ajudar? Vlw!

1º Item A Ser Carregado No Site (javascript)

01/09/2008, 20:35

Boa Noite!

Estou usando um lightwindow (css+javascript) no meu site e acontece q para ele funcionar, é preciso que tda a pag ja tenha sido carregada, aí é sacanagem né, hehehe

Andei buscando na net, google, foruns etc, mas nao dei sorte, nao achei como definir isso..

Será que alguem pode me ajudar? Como determinar que este javascript tem q ser o primeiro a ser carregado no site?

vlw!

IPB Skin By Virteq