Saludos compañeros, tengo unos problemillas de estabilidad y fluidez en mi portal y me gustaria optimizar un poco las sentencias basicas de mi portal...
Estas sentencias son las siguientes...
SENTENCIA A: Top 10)
Código PHP:
<?php $l = 2;
//dia donde vamos a restar
$dia=strftime( "%d", time() );
//dia actual
$diaB=strftime( "%d", time() );
//mes actual
$mes=strftime( "%m", time() );
//año actual
$ano=strftime( "%Y", time() );
//en caso de que el dia sea 1
if( $diaB == 1 ){
$dia1="0$diaB";
$dia2="0$diaB";
$dia3="0$diaB";
$dia4="0$diaB";
$dia5="0$diaB";
$dia6="0$diaB"; }
if( $diaB == 2 ){
$dia1=$diaB-1;
$dia1="0$dia1";
$dia2=$diaB-1;
$dia2="0$dia2";
$dia3=$diaB-1;
$dia3="0$dia3";
$dia4=$diaB-1;
$dia4="0$dia4";
$dia5=$diaB-1;
$dia5="0$dia5";
$dia6=$diaB-1;
$dia6="0$dia6";}
if( $diaB == 3 ){
$dia1=$diaB-2;
$dia1="0$dia1";
$dia2=$diaB-2;
$dia2="0$dia2";
$dia3=$diaB-2;
$dia3="0$dia3";
$dia4=$diaB-2;
$dia4="0$dia4";
$dia5=$diaB-2;
$dia5="0$dia5";
$dia6=$diaB-1;
$dia6="0$dia6";}
if( $diaB == 4 ){
$dia1=$diaB-3;
$dia1="0$dia1";
$dia2=$diaB-3;
$dia2="0$dia2";
$dia3=$diaB-3;
$dia3="0$dia3";
$dia4=$diaB-3;
$dia4="0$dia4";
$dia5=$diaB-2;
$dia5="0$dia5";
$dia6=$diaB-1;
$dia6="0$dia6";}
if( $diaB == 5 ){
$dia1=$diaB-5;
$dia1="0$dia1";
$dia2=$diaB-5;
$dia2="0$dia2";
$dia3=$diaB-4;
$dia3="0$dia3";
$dia4=$diaB-6;
$dia4="0$dia4";
$dia5=$diaB-2;
$dia5="0$dia5";
$dia6=$diaB-1;
$dia6="0$dia6";}
if( $diaB == 6 ){
$dia1=$diaB-6;
$dia1="0$dia1";
$dia2=$diaB-5;
$dia2="0$dia2";
$dia3=$diaB-4;
$dia3="0$dia3";
$dia4=$diaB-3;
$dia4="0$dia4";
$dia5=$diaB-2;
$dia5="0$dia5";
$dia6=$diaB-1;
$dia6="0$dia6";}
if( $diaB == 7 ){
$dia1=$diaB-6;
$dia1="0$dia1";
$dia2=$diaB-5;
$dia2="0$dia2";
$dia3=$diaB-4;
$dia3="0$dia3";
$dia4=$diaB-3;
$dia4="0$dia4";
$dia5=$diaB-2;
$dia5="0$dia5";
$dia6=$diaB-1;
$dia6="0$dia6";}
if( $diaB > 7) {
//modificaciones variables basicas
if($diaB < 9) { $dia1=$diaB-7;
$dia1="0$dia1"; }
else { $dia1=$diaB-7;
$dia1="$dia1"; }
if($diaB < 9) { $dia2=$diaB-6;
$dia2="0$dia2"; }
else { $dia2=$diaB-6;
$dia2="$dia2"; }
if($diaB < 9) { $dia3=$diaB-5; $dia3="0$dia3"; }
else { $dia3=$diaB-5; $dia3="$dia3"; }
if($diaB < 9) { $dia4=$diaB-4; $dia4="0$dia4"; }
else { $dia4=$diaB-4; $dia4="$dia4"; }
if($diaB < 9) { $dia5=$diaB-3; $dia5="0$dia5"; }
else { $dia5=$diaB-3; $dia5="$dia5"; }
if($diaB < 9) { $dia6=$diaB-2; $dia6="0$dia6"; }
else { $dia6=$diaB-2; $dia6="$dia6"; }
/*$dia2=$diaB-6;
$dia2="0$dia2";
$dia3=$diaB-5;
$dia3="0$dia3";
$dia4=$diaB-4;
$dia4="0$dia4";
$dia5=$diaB-3;
$dia5="0$dia5";
$dia6=$diaB-2;
$dia6="0$dia6";*/
}
//sentencias SQL
$fecha_1="date='$dia1/$mes/$ano'";
$fecha_2="date='$dia2/$mes/$ano'";
$fecha_3="date='$dia3/$mes/$ano'";
$fecha_4="date='$dia4/$mes/$ano'";
$fecha_5="date='$dia5/$mes/$ano'";
$fecha_6="date='$dia6/$mes/$ano'";
$fecha_7="date='$diaB/$mes/$ano'";
///Debugger
/*echo $fecha_1;
echo $fecha_2;
echo $fecha_3;
echo $fecha_4;
echo $fecha_5;
echo $fecha_6;
echo $fecha_7;*/
$sentencia = mysql_query("SELECT * from noticias WHERE ($fecha_1 OR $fecha_2 OR $fecha_3 OR $fecha_4 OR $fecha_5 OR $fecha_6 OR $fecha_7) order by descargados desc limit 10");
SENTENCIA B: Muestra ultimas noticias)
Código PHP:
SELECT * from noticias WHERE validated='1' AND (tipo='PSP' OR tipo='NDS' OR tipo='PS3' OR tipo='XBOX360' OR tipo='PC' OR tipo='MAC' OR tipo='Wii') AND (salida='ESTRENO' OR salida='ESPECIAL') OR (tipo='PELICULA' OR tipo='SERIE') AND (salida='ESTRENO' OR salida='ESPECIAL' OR salida='NUEVO') AND validated='1' order by id desc limit 24
SENTENCIA C: Listado)
Código PHP:
<?php
if($_GET[go] == 'nds'){ $filtring = " where tipo='NDS' AND validated='1'"; }
if($_GET[go] == 'wii'){ $filtring = " where tipo='Wii' AND validated='1'"; }
if($_GET[go] == 'psp'){ $filtring = " where tipo='PSP' AND validated='1'"; }
if($_GET[go] == 'x360'){ $filtring = " where tipo='XBOX360' AND validated='1'"; }
if($_GET[go] == 'pc'){ $filtring = " where tipo='PC' AND validated='1'"; }
if($_GET[go] == 'mac'){ $filtring = " where tipo='MAC' AND validated='1'"; }
if($_GET[go] == 'peliculas'){ $filtring = " where tipo='PELICULA' AND validated='1'"; }
if($_GET[go] == 'ps3'){ $filtring = " where tipo='PS3' AND validated='1'"; }
if($_GET[go] == 'series'){ $filtring = " where tipo='SERIE' AND validated='1'"; }
if($_GET[go] == 'todo'){ $filtring = ' '; }
if(!$_GET[pag]){ $paging = "0";
} else {
$suk = $_GET[pag]*24-24;
$paging = $suk;
}
$kik = mysql_query("SELECT * from noticias $filtring order by id desc limit $paging,24");
//contamos cuantos resultados hay
$kiktotal= mysql_query("SELECT * from noticias $filtring");
$is = 0; ?>
SENTENCIA D: Buscador)
Código PHP:
mysql_query("SELECT * from noticias where validated='1' AND titulo LIKE '%$min%' OR titulo LIKE '%$max%' ");
¿Como las podria optimizar?
Evidentemente en la del TOP (que utilizo PHP y se que se podria usar solo SQL) se puede optimizar MUCHO... pero no se como...
Ayuda!