Jump to content


Photo

Lispa Rapida De Vídeos, Tipo(meus Favoritos)


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

#1 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 05/10/2008, 19:02

Olá pessoal, eu tenho um site de videos e queria criar uma lista rapida(quick list); semelhante a do youtube, onde pode-se acidionar os valores ids dos videos no cookie e acessar estes valores, para mostrar a lista rapida!

para mostrar os videos eu estou fazendo assim:



//a variavel valores sao os valores armazenados no cookie;
$valores = array('5','10','50','625','1','55','87','145','541','322','51','84','511','654','84','11','310');

mysql_connect('localhost','xxxxxx','xxxxxxxxx');
mysql_select_db('xxxxxxxx');



$buscar_videos = mysql_query("SELECT * FROM tabela");


while($mostrando = mysql_fetch_array($buscar_videos)){
	
	
	foreach($valores as $Ids){
		if($mostrando['0'] == $Ids){
						echo "<p class='list_videos'>";
			echo $mostrando['1'].',  ';
			echo $mostrando['0']."<br/></p>";
			
		}
		
	}
	
	
	
}

o resultado que tenho nesse script é exatamente o que preciso, o problema é que a tabela tem mais de 5 mil registros, e demora muito para carregar, sera que tem cmo deixa-lo mais lento?

:unsure:
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#2 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 06/10/2008, 04:42

Tenta assim e vê se funciona. Penso que assim deve melhorar o desempenho.

//a variavel valores sao os valores armazenados no cookie;
$valores = array('5','10','50','625','1','55','87','145','541','322','51','84','511','654','84','11','310');

mysql_connect('localhost','xxxxxx','xxxxxxxxx');
mysql_select_db('xxxxxxxx');

$query = "SELECT * FROM tabela WHERE id = " . $valores[0];
for($i = 1; $i < count($valores); $i++) {
	$query .= " OR id = " . $valores[$i];
}

$buscar_videos = mysql_query($query);

while($mostrando = mysql_fetch_array($buscar_videos)) {
	echo "<p class='list_videos'>" . $mostrando['1'] . ", " . $mostrando['0'] . "<br/></p>";
}

Isto é assumindo que o campo da tabela do banco de dados correspondente ao array $valores tem o nome de "id", caso seja outro nome é só mudar na query.

Espero ter ajudado!

#3 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 06/10/2008, 14:57

Ola CMAC tudo certo?


cara, muito obrigado me ajudou muito, funcionou perfeitamente e carregou em menos de 2 segundos, enquanto da outra vez demorava uns 5;

só fiquei em duvida na parte do select que fica.

SELECT * FROM tabela WHERE id = '5' OR id='10'

para que serve esse OR id?

Abraço. e obrigado mais uma vez :lol:
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#4 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 06/10/2008, 16:56

No seu script original, fazia-se uma consulta em todas as linhas do banco de dados e depois selecionava os que estavam no array, certo!?

O que fiz foi selecionar somente as linhas que correspondem ao array.

Portanto, no exemplo citado: SELECT * FROM tabela WHERE id = '5' OR id='10', as linhas que serão selecionadas são as que corresponde ao id 5 "OU" ao id 10.

Se no array tiver os valores array(5, 10, 15, 20) a query será:

SELECT * FROM tabela WHERE id = '5' OR id='10' OR id = '15' OR id = '20'

E serão selecionadas somente as linhas com id 5, 10, 15, 20 caso existam.

#5 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 06/10/2008, 20:45

agora entendi :lol:

melhor explicação impossivel! obrigado mesmo!


Abraço;
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>




0 user(s) are reading this topic

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

IPB Skin By Virteq