Guest - Lucas - Postado Maio 6, 2006 Denunciar Share Postado Maio 6, 2006 Sou hiper novato em PHP, criei uma galeria com ajuda de um instalador automático, acontece que a galeria organiza por data, da mais antiga para a mais nova em precisaria disso ao contrário.Esse é o código da index.php da galeria:<?require("class.php");$Gal = new Galeria;$path = str_replace("/index.php","",$_SERVER["SCRIPT_FILENAME"]);$T = new Template($path."/templates/index.htm");$T->Replace("DIM", $dim);$T->Replace("Titulo", $titulo);///////////////////////////////// if(isset($_GET['cat'])){ $inc= "Fotos"; }else{ $inc= "Galerias"; }$Include = new Template( $path."/templates/".$inc.".htm" );require($inc.".php"); /////////////////////////////////echo $T->Show();?>Agora o código da Galeria (galeria.php):<?@session_start();@session_unset();@session_destroy();$cats = mysql_query("select * from cats");if(mysql_num_rows($cats)>0){$i = 1;$arr=array();while($d = mysql_fetch_array($cats)){ foreach($d as $chave=>$valor){ $arr[$chave] = $valor; } $arr['n'] = $i; $Include->Loop('Galerias', $arr ); $i=$i+1;}$Include->CloseLoop('Galerias');$T->Replace("INCLUDE", $Include->Show() );}else{ $T->Replace("INCLUDE","<b>Nenhuma categoria encontrada!</b>");}?>Class.php código: if($this -> X > $this -> Y){ $this -> T_X = $dim; $this -> T_Y = floor( ($this -> Y * $dim) / $this -> X ); }elseif( $this -> Y > $this -> X ){ $this -> T_Y = $dim; $this -> T_X = floor( ($this -> X * $dim) / $this -> Y ); }else{ $this -> T_X = $dim; $this -> T_Y = $dim; } $this -> Thumb = imagecreatetruecolor( $this -> T_X , $this -> T_Y ); imagecopyresampled( $this -> Thumb , $this -> Copia, 0,0,0,0, $this -> T_X ,$this -> T_Y , $this -> X, $this -> Y ); header ("Content-type: image/jpeg"); imagejpeg($this -> Thumb); @imagedestroy( $this->Thumb ); @imagedestroy( $this->Copia ); } }class Template{ var $Template; var $Tabela, $Num, $Loop; function Template($arquivo){ $open_o = fopen($arquivo,"r"); $this -> Template = fread( $open_o , filesize($arquivo) ); } function Show(){ return $this-> Template; } function Replace($var, $conteudo){ $this->Template = str_replace("[".$var."]",$conteudo, $this->Template); } function Loop( $lugar, $valores ){ $this->Loop = $lugar; if( strstr($this->Template,"[-$lugar-]") ){ $this->Template = str_replace( "[-$lugar-]" , $this->Tabela."[-$lugar-]" , $this->Template ); }else{ $partes = explode("<!--".$lugar."-->",$this->Template); $partes2 = explode( "<!--/".$lugar."-->" , $partes[1] ); $this->Tabela = $partes2[0]; $this->Template = str_replace( "<!--$lugar-->".$this->Tabela."<!--/$lugar-->" , $this->Tabela."[-$lugar-]" , $this->Template); } foreach($valores as $chave=>$valor){ $this->Template = str_replace("[$chave]",$valor,$this->Template); } } function CloseLoop(){ $this->Template = str_replace( "[-".$this->Loop."-]", "", $this->Template); }}/*require("EasyTemplate.class.php");$ET = new EasyT( "htmls/ex1.et" );echo $ET->Replace("msg", "EasyTemplate Testing - OK");echo $ET->Show();#######################################require("EasyTemplate.class.php");$ET = new EasyT( "htmls/ex2.et" );$values = array();for( $i=1 ; $i<=10 ; $i++ ){ $values['field'] = $i; $ET->Loop("Loop", $values );} $ET->CloseLoop();echo $ET->Show();*/?>A Galeria está nesse endereço.http://www.queenbrazil.com/amplavisaoserver/testes/galeria/Por favor se alguém puder me ajudar, sou imensamente grato! ;) Esse negócio está me chateando. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Lucas - Postado Maio 6, 2006 Denunciar Share Postado Maio 6, 2006 Alguém pode ?? :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ikkinet Postado Maio 7, 2006 Denunciar Share Postado Maio 7, 2006 eu não li tudo com atencao...mas acho que se você alterar a 4a linha do class.php, deve funcionar... tenta ai... antes, você olha na tabela cats como que chama a coluna que tem a data... geralmente é data... supondo que seja (verifique pra colocar certo)está assim..$cats = mysql_query("select * from cats");adiciona isso, em vermelho..$cats = mysql_query("select * from cats order by data desc"); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Maio 9, 2006 Denunciar Share Postado Maio 9, 2006 Cara deu certinho aparentemente, vou testar!select * from cats order by data desc Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Lucas -
Sou hiper novato em PHP, criei uma galeria com ajuda de um instalador automático, acontece que a galeria organiza por data, da mais antiga para a mais nova em precisaria disso ao contrário.
Esse é o código da index.php da galeria:
<?
require("class.php");
$Gal = new Galeria;
$path = str_replace("/index.php","",$_SERVER["SCRIPT_FILENAME"]);
$T = new Template($path."/templates/index.htm");
$T->Replace("DIM", $dim);
$T->Replace("Titulo", $titulo);
/////////////////////////////////
if(isset($_GET['cat'])){
$inc= "Fotos";
}else{
$inc= "Galerias";
}
$Include = new Template( $path."/templates/".$inc.".htm" );
require($inc.".php");
/////////////////////////////////
echo $T->Show();
?>
Agora o código da Galeria (galeria.php):
<?
@session_start();
@session_unset();
@session_destroy();
$cats = mysql_query("select * from cats");
if(mysql_num_rows($cats)>0){
$i = 1;
$arr=array();
while($d = mysql_fetch_array($cats)){
foreach($d as $chave=>$valor){
$arr[$chave] = $valor;
}
$arr['n'] = $i;
$Include->Loop('Galerias', $arr );
$i=$i+1;
}
$Include->CloseLoop('Galerias');
$T->Replace("INCLUDE", $Include->Show() );
}else{
$T->Replace("INCLUDE","<b>Nenhuma categoria encontrada!</b>");
}
?>
Class.php código:
if($this -> X > $this -> Y){
$this -> T_X = $dim;
$this -> T_Y = floor( ($this -> Y * $dim) / $this -> X );
}elseif( $this -> Y > $this -> X ){
$this -> T_Y = $dim;
$this -> T_X = floor( ($this -> X * $dim) / $this -> Y );
}else{
$this -> T_X = $dim;
$this -> T_Y = $dim;
}
$this -> Thumb = imagecreatetruecolor( $this -> T_X , $this -> T_Y );
imagecopyresampled(
$this -> Thumb , $this -> Copia, 0,0,0,0, $this -> T_X ,$this -> T_Y , $this -> X, $this -> Y );
header ("Content-type: image/jpeg");
imagejpeg($this -> Thumb);
@imagedestroy( $this->Thumb );
@imagedestroy( $this->Copia );
}
}
class Template{
var $Template;
var $Tabela, $Num, $Loop;
function Template($arquivo){
$open_o = fopen($arquivo,"r");
$this -> Template = fread( $open_o , filesize($arquivo) );
}
function Show(){
return $this-> Template;
}
function Replace($var, $conteudo){
$this->Template = str_replace("[".$var."]",$conteudo, $this->Template);
}
function Loop( $lugar, $valores ){
$this->Loop = $lugar;
if( strstr($this->Template,"[-$lugar-]") ){
$this->Template = str_replace( "[-$lugar-]" , $this->Tabela."[-$lugar-]" , $this->Template );
}else{
$partes = explode("<!--".$lugar."-->",$this->Template);
$partes2 = explode( "<!--/".$lugar."-->" , $partes[1] );
$this->Tabela = $partes2[0];
$this->Template = str_replace( "<!--$lugar-->".$this->Tabela."<!--/$lugar-->" , $this->Tabela."[-$lugar-]" , $this->Template);
}
foreach($valores as $chave=>$valor){
$this->Template = str_replace("[$chave]",$valor,$this->Template);
}
}
function CloseLoop(){
$this->Template = str_replace( "[-".$this->Loop."-]", "", $this->Template);
}
}
/*
require("EasyTemplate.class.php");
$ET = new EasyT( "htmls/ex1.et" );
echo $ET->Replace("msg", "EasyTemplate Testing - OK");
echo $ET->Show();
#######################################
require("EasyTemplate.class.php");
$ET = new EasyT( "htmls/ex2.et" );
$values = array();
for( $i=1 ; $i<=10 ; $i++ ){
$values['field'] = $i;
$ET->Loop("Loop", $values );
}
$ET->CloseLoop();
echo $ET->Show();
*/
?>
A Galeria está nesse endereço.
http://www.queenbrazil.com/amplavisaoserver/testes/galeria/
Por favor se alguém puder me ajudar, sou imensamente grato! ;) Esse negócio está me chateando.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.