No me anda por la cantidad almacenada.
He visto que se tienen que hacer index en las tablas, las utilizadas en where pero veo que en la bd de las visitas me las muestra todo y no se en que tabla hacer el index para ir mas rápido.
Necesito ayuda.
Os muestro la base de datos
Código PHP:
mysql_query("CREATE TABLE IF NOT EXISTS `$DB`.`visitas` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`id_usuario` INT( 15 ) NOT NULL ,
`id_agente` INT( 15 ) NOT NULL ,
`ip` VARCHAR( 80 ) NOT NULL ,
`url_access` VARCHAR( 80 ) NOT NULL ,
`explorador` VARCHAR( 80 ) NOT NULL ,
`idioma` VARCHAR( 80 ) NOT NULL ,
`visitado` VARCHAR( 150 ) NOT NULL ,
`url` VARCHAR( 100 ) NOT NULL ,
`fecha` DATE NOT NULL ,
`hora` TIME NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM",$conexion);
include(pagina_medio.php);
Código PHP:
<?
if ($_GET[Pag] == ""){$PagI = 0;}
elseif ($_GET[Pag] == 1){$pagI = 0;}
else{$pagI = ((($_GET[Pag]-1)*$_SESSION[TABLCONT]));}
$pagF = ($_SESSION[TABLCONT]);
$limit = "$pagI,$pagF";
$PAGS = $pagF;
?>
Código PHP:
<?
$BD = "visitas";
$WHERE = "";
$ORDENAR = "";
include("../estandar/pagina_medio.php");
?>
<?
$this->Bd->consultar($BD,$WHERE,"$ORDENAR LIMIT $limit");
$Rn = $this->Bd->num_rows();
while ($RR = $this->Bd->obtendatos()){
....................
....................
....................
}
$this->Bd->limpiaconsulta();
?>
<?
<?
$this->Bd->consultar($this->BD,$this->WHERE,$this->ORDENAR);
$Rn = $this->Bd->num_rows();
$this->Bd->limpiaconsulta();
?>
<tr>
<td colspan="20"><? include("../estandar/pagina_abajo.php"); ?></td>
</tr>
<tr>
<td colspan="20"><? include("../estandar/pagina_mas_arriba.php"); ?></td>
</tr>
Como realizariais las consultas más rápidas?
Este script contiene paginaciones.
1. Cuenta resultados para hacer LIMIt paginacion
2. Muestra resultados con WHERE
3. Muestra las paginas para el link de paginacion.
Muchas gracias.