Jump to content


Photo

Limitar Numero De Colunas


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

#1 xelbh

xelbh

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 20/06/2008, 22:03

Ola pessoal

Comecei a mecher com php tem pouco tem e fiz um script aqui de galeria de imagens que cadastra thumbs personalizadas. Tem como você definir o url da thumb e qual endereço ela vai. Só que estou com um problema na hora de exibir os resultados em colunas, eu consegui criar aqui mais ele não limita o numero de colunas, queria poder limitar o resultado em 5 colunas ou se possivel fosse configurado o numero de colunas e também criar uma paginação...
Queria que vocês me ajudassem, tipo eu fiz esse dai baseado em outros scripts, mais ja tentei aki terminar e não ta dando certo... =D

Vejam o codigo:

exibe.php

<table width="400"><tr><?php include "config.php"; //Conecta com a base de dados$sql = 'SELECT * from imagens ORDER BY RAND()';	$result = mysql_query($sql) or die(mysql_error());	$i = 0;while ($r = mysql_fetch_array($result, MYSQL_ASSOC)) {    if ($r[''] == 0) {        		$tr = ($i % 2);        			echo '<td><a href="' . $r['url'] .'"><img src="' . $r['arq'] . '" border="1"></a><br>Titulo: <b>' . $r['nome'] . '</b><br/>';        		$query = 'SELECT * FROM categoria      WHERE id=\'' . $r['id'] . '\'';        		$results = mysql_query($query) or die(mysql_error());        		$n = 1;       			while ($sub = mysql_fetch_array($results, MYSQL_ASSOC)) {            		echo 'Categoria:<b> ' . $sub['nome'] . '</b></br></br></td>';             	$n++;         } }} ?>  </tr></table>


Como falei acima, comecei a mecher tem pouco tempo se tiver como fazer e explicar como serei grato... =D
O lwrik tinha me add no msn pra ele me ajudar, mais ele não ta entrando no msn, e estou
precisando terminar esse script urgente...

Vlw desculpa qlqr coisa..

Edição feita por: xelbh, 21/06/2008, 23:54.


#2 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 20/06/2008, 22:39

Olá!
É estou entrando pouco ultimamente no MSN =)

Mas tente assim:
<table width="400"><tr>
<?php 
include "config.php"; //Conecta com a base de dados
$limite=5; //Definindo número de colunas e respectivamente número de fotos a exibir.
$sql = "SELECT * from imagens ORDER BY RAND() LIMIT $limite";
$result = mysql_query($sql) or die(mysql_error());
$i = 0;
while ($r = mysql_fetch_array($result, MYSQL_ASSOC)) {	
	echo '<td><a href="' . $r['url'] .'"><img src="' . $r['arq'] . '" border="1"></a><br>Titulo: <b>' . $r['nome'] . '</b><br/>';
	$query = 'SELECT * FROM categoria WHERE id=\'' . $r['id'] . '\'';
	$results = mysql_query($query) or die(mysql_error());
	$n = 1;
	while ($sub = mysql_fetch_array($results, MYSQL_ASSOC)) {		
		echo 'Categoria:<b> ' . $sub['nome'] . '</b></br></br></td>';
		$n++;
	}
}
?>
</tr></table>

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#3 xelbh

xelbh

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 21/06/2008, 02:21

Intaum lwrikk ai ele limita por exibir somente 5 thumbs, queria q ele limitasse o numero de colunas e fizesse a quebra automatica...
tipo, tem 15 thumbs, ai ele limitava em 5 colunas e criava mais 2 linhas pra por o resto das thumbs...

#4 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 21/06/2008, 13:00

Veja se é isto:
E a lógica do WHILE dentro de outro WHILE está meio sem sentido, pode ser que mostre um resultado inesperado para você aí, por causa da lógica do script...
<table width="400"><tr>
<?php 
include "config.php"; //Conecta com a base de dados
$limite=5; //Definindo número de colunas.
$fotos=15; //Definindo número de fotos a exibir.
$sql = "SELECT * from imagens ORDER BY RAND() LIMIT $fotos";
$result = mysql_query($sql) or die(mysql_error());
$i = 0;
while ($r = mysql_fetch_array($result, MYSQL_ASSOC)) {
$i++;  
	echo '<td><a href="' . $r['url'] .'"><img src="' . $r['arq'] . '" border="1"></a><br>Titulo: <b>' . $r['nome'] . '</b><br/>';
	$query = 'SELECT * FROM categoria WHERE id=\'' . $r['id'] . '\'';
	$results = mysql_query($query) or die(mysql_error());
	$n = 1;
	if($i<$limite){
		while ($sub = mysql_fetch_array($results, MYSQL_ASSOC)) {		
			echo 'Categoria:<b> ' . $sub['nome'] . '</b></br></br></td>';
			$n++;
		}
		$i=0;
	}
}
?>
</tr></table>

Desse modo ele irá criar do jeito que você deseja, porém, como eu disse, a lógica está estranha e pode não mostrar como deseja.... (y)
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#5 xelbh

xelbh

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 21/06/2008, 23:51

É realmente não deu certo..
Vou tentar pegar um script de paginação com thumbs e tentar modifica-lo, alguem sugere um script de paginação ae?

Editado:

Ae galera......
Intaum eu fiz uma busca pelo google e achei um script de paginação aonde eu consegui adaptar o banco de dados nele, só que estou com dois problemas. Não consigo fazer ele exibir as thumbs em uma tabela de 5 colunas e 4 linhas (igual no seu script la o gera_thumb). Tentei adptar ai mais não deu certo... o outro problema eu digo depois ahueuhaeuhae q coisa so tem o lwrikk nesse forum pra ajudar? =D

<?php// Conceta ao banco de dados		include("config.php"); 		//Seleciona o banco de dados$sql = "SELECT * FROM imagens";//Limite de busca por pagina$TAMANHO_PAGINA = 15;$colunas =  "5";//Examinando a pagina a ser mostrada e o inicio dos registros$pagina = $_GET["pagina"];if (!$pagina) {	$inicio = 0;	$pagina = 1;}	else {		 $inicio = ($pagina - 1) * $TAMANHO_PAGINA;		}		$ssql = "SELECT * FROM imagens" . $criterio;$rs = mysql_query($ssql,$base);$num_total_registos = mysql_num_rows($rs);//Calcula o total de paginas$total_paginas = ceil($num_total_registos / $TAMANHO_PAGINA);?><table align="center" width="90%" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top" align="right"><?	echo "<td align=center>"; 		$ssql = "SELECT * FROM imagens " . $criterio . " LIMIT " . $inicio . "," . $TAMANHO_PAGINA;$rs = mysql_query($ssql);	while($fila = mysql_fetch_object($rs)){		echo '<b>Titulo:</b> ' . $fila->nome . '<br><a href="' . $fila->url .'" target="_blank"><img src="' . $fila->arq . '" border="1"></a><br>Categoria: ' . $fila->categoria .'<br><br>';    	}	mysql_free_result($rs);	mysql_close($base);		if (($i+1) % $colunas == 0) {  //Verifica o número de colunas exata especificada em "$colunas".			print "<br>"; //Quebra a linha caso o número passe da quantidade setada por $colunas.}	print "</tr><tr><td>&nbsp;<td align=center>";		if($total_paginas > 1) {		for ($i=1;$i<=$total_paginas;$i++){			if ($pagina == $i)			echo $pagina . " ";			else			echo "<a href='?pagina=" . $i ."'> [" . $i . "]</a> ";					}		}	print "</tr></table>";			//Exibe os dados buscadosecho "Total de galerias encontradas: " . $num_total_registos . "<br>";echo "A mostrar a pagina " . $pagina . " de " . $total_paginas . "<p>";?>

Edição feita por: xelbh, 21/06/2008, 23:52.


#6 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 22/06/2008, 02:16

Qual o valor de $criterio?

E dá algum erro?

Até! =)
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#7 xelbh

xelbh

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 22/06/2008, 10:51

Estranho, pq no codigo do cara ele também não define nenhum valor, e não está dando erro nenhum...
Pelo que eu reparei me parece que essa variavel $criterio seria algum valor do banco de dados... mais não sei qual poderia ser o valor dela...

#8 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 22/06/2008, 13:11

Simplesmente não aparece nada na tela?
Tenta colocar debaixo dessa variável:
$ssql = "SELECT * FROM imagens " . $criterio . " LIMIT " . $inicio . "," . $TAMANHO_PAGINA;

Isso:
echo $ssql;

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#9 xelbh

xelbh

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 22/06/2008, 23:03

Intaum,

Aparece sim as thumbs que eu cadastrei através do adicionar.php... e a paginação tambem está funcionando.. so q ele exibe apenas em uma coluna...

#10 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 23/06/2008, 11:25

man... seja mais especifico...

vc quer mostrar 5 produtos um do lado do outro
e no 5 ir para a proxima linha??

é isso?
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#11 xelbh

xelbh

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 23/06/2008, 12:10

Tipo:

Nesse ultimo script que puis ele está assim, exibe os resultados em uma coluna e faz a paginação do resto das thumbs... e eu cadastrei umas 50 thumbs ali ou seja ele exibe de 10 em 10 apenas 1 coluna...
Posted Image

Queria q ficasse assim: Limitava tipo 20 thumbs por pagina ou seja 5 colunas e 4 linhas(ou podendo definar quantas colunas e quantas linhas serão exibidas..) e criava a paginação pro resto das thumbs...
Posted Image

No script ai ele ta exibindo apenas 10 em 10 apenas 1 coluna e faz o resto da paginação...
Entendeu agora ahaehuauehuae..
Vlw pela atenção ai..

#12 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 23/06/2008, 12:58

existem varias maneiras de se fazer...

inclusive tem até tutoriais por ai

vou da uma breve descrição ..

<table>
<tr>
<?
while(1)
{
	$numero++;
	?>
	<td>SEU THUMB AQUI</td>
	<?
	if($numero == 5)
	{
		echo "</tr><tr>";
		$numero = 0;
	}
}
	?>
</tr>
</table>


isso vai reolver o que vc quer
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#13 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 23/06/2008, 14:29

Vê se isso é o que deseja '-':
<?php

// Conceta ao banco de dados
		include("config.php"); 
		
//Seleciona o banco de dados
$sql = "SELECT * FROM imagens";

//Limite de busca por pagina
$TAMANHO_PAGINA = 15;
$colunas =  "5";

//Examinando a pagina a ser mostrada e o inicio dos registros
$pagina = $_GET["pagina"];
if (!$pagina) {
	$inicio = 0;
	$pagina = 1;
}
	else {
		 $inicio = ($pagina - 1) * $TAMANHO_PAGINA;
		}
		
$ssql = "SELECT * FROM imagens" . $criterio;
$rs = mysql_query($ssql,$base);
$num_total_registos = mysql_num_rows($rs);

//Calcula o total de paginas
$total_paginas = ceil($num_total_registos / $TAMANHO_PAGINA);

?>
<table align="center" width="90%" border="0" cellpadding="0" cellspacing="0">
<tr><td valign="top" align="right">
<? 	
	
$ssql = "SELECT * FROM imagens " . $criterio . " LIMIT " . $inicio . "," . $TAMANHO_PAGINA;
$rs = mysql_query($ssql);
	while($fila = mysql_fetch_object($rs)){
		$i++;
		if($i==1){echo '<tr>';}
		echo '<td align=center>';
		echo '<b>Titulo:</b> ' . $fila->nome . '<br><a href="' . $fila->url .'" target="_blank"><img src="' . $fila->arq . '" border="1"></a><br>Categoria: ' . $fila->categoria .'<br><br>';
		echo '</td>';
		if($i==4){echo '</tr>';$i=0;}
	}
	mysql_free_result($rs);
	mysql_close($base);
	
	if (($i+1) % $colunas == 0) {  //Verifica o número de colunas exata especificada em "$colunas".
			print "<br>"; //Quebra a linha caso o número passe da quantidade setada por $colunas.
}
	print "</td></tr><tr><td>&nbsp;<td align=center>";
	
	if($total_paginas > 1) {
		for ($i=1;$i<=$total_paginas;$i++){
			if ($pagina == $i)
			echo $pagina . " ";
			else
			echo "<a href='?pagina=" . $i ."'> [" . $i . "]</a> ";
			
		}
		}
	print "</tr></table>";	
		
//Exibe os dados buscados
echo "Total de galerias encontradas: " . $num_total_registos . "<br>";
echo "A mostrar a pagina " . $pagina . " de " . $total_paginas . "<p>";

?>

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#14 xelbh

xelbh

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 23/06/2008, 23:34

Opa vlw... isso mesmo...

Tenho mais uma ideia pra tentar implementar:
Nesse script q o lwrikk me passo ele exibe todas as thumbs do banco de dados que são cadastrados através do adicionar.php
Queria separar as thumbs por categoria e caso nao tem o arquivo pra exibi-la ele cria automatico. Ai ficaria assim:
Eu seleciono a categoria filmes no adiconar.php ai o script adiciona a thumb dentro da pasta http://servidor/categorias/filmes/index.php
ai caso nao tenha a pasta filmes e o index.php ele cria automaticamente.

Deu pra intender mais/menos?
Teria algum tutorial ai? para eu tentar fazer aki.. =D

#15 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 23/06/2008, 23:49

Poderá verificar se a categoria "filme" existe:

$cat=$_POST['cat']; //vamos supor que foi "filme"
$cat='categorias/'.$cat; //ficaria "categorias/filme"
if(!file_exists($cat)){
//verifica se a pasta "categoria/filme" não existe
// se não existir ele cria...

mkdir($cat,0755);
}

Para criar o arquivo é com Fopen(), e com File_put_contents() ou o próprio Fwrite() você poderá gravar algum conteúdo no arquivo INDEX.PHP . =)

Referências:
file_exists()
mkdir()
fopen()
fwrite()
file_put_contents()

Edição feita por: lwirkk, 23/06/2008, 23:51.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)




1 user(s) are reading this topic

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

IPB Skin By Virteq