Programación php
Email: Password:


¡Regístrate gratis! | ¿Has perdido tu password?

Home
Blog

En él que podrás informarte de todas las noticias relacionadas con el posicionamiento de páginas web.

Ir al Blog de posicionamiento web



Foro de programación en PHP

Responder el mensaje

Como funcionan las sesiones??

Autor: 19david82
Publicado: 02-6-2008 05:41 PM
Hola mi problema es el siguiente. Yo tengo en una base de datos unos videos y los muestro embed mediante paginación. Hasta aqui sin problemas me los muestra bien, pero también tengo un buscador a modo de filtro que hace que puedas seleccionar los videos según unas características que elija el usuario.

Cuando ejecuto el buscador la pagina inicial me la muestra bien, pero cuando le doy a la siguiente página en vez de mostrarme la siguiente página de los videos mostrados me la muestra como si no se hubiese hecho ningún filtro.

He leído q se deben usar sesiones pero no se muy bien como usarlas.

Alguien puede ayudarme??

Aqui dejo el código que he hecho para que podais ver como uso las sesiones.

Muchas gracias.



session_start();// lo pongo al principio de todo.

$videos= 4;
$pagina = $_GET['pag'];
if (empty($pagina)){$limite =0;}
else {$limite = $pagina * $videos;}
$buscatema = $_POST['buscatema'];
$buscacategoria = $_POST['buscacategoria'];

if(isset($_REQUEST['buscador'])){

if(($buscatema == 0)&&($buscacategoria==0)){
$consulta = mysql_query("SELECT url,id_corto FROM cortos ORDER BY id_corto ASC LIMIT $limite,$videos");
$_SESSION['pag'] = $consulta;
}

elseif(($buscatema !=0) && ($buscacategoria ==0)){
$consulta = mysql_query("SELECT url,id_corto FROM cortos WHERE id_tema = '{$buscatema}' ORDER BY id_corto ASC LIMIT $limite,$videos");
$_SESSION['pag'] = $consulta;
}

elseif(($buscatema == 0) &&($buscacategoria !=0)){
$consulta = mysql_query("SELECT url,id_corto FROM cortos WHERE id_categoria = '{$buscacategoria}' ORDER BY id_corto ASC LIMIT $limite,$videos");
$_SESSION['pag'] = $consulta;
}

else{
$consulta = mysql_query("SELECT url,id_corto FROM cortos WHERE id_categoria = '{$buscacategoria}' AND id_tema = '{$buscatema}' ORDER BY id_corto ASC LIMIT $limite,$videos");
$_SESSION['pag'] = $consulta;
}
}

else{
$consulta = mysql_query("SELECT url,id_corto FROM cortos ORDER BY id_corto ASC LIMIT $limite,$videos");
$_SESSION['pag'] = $consulta;}

$a=0;
$i=0;
$delimitador = "=";
$direccion = array();
$idcorto=array();


while($datos = @mysql_fetch_array($_SESSION['pag'])){
$direccion[$i] = $datos[0];
$idcorto[$i] = $datos[1];
$direccion [$i] = sacar_url($direccion[$i],$delimitador);
$i++;}

?>
AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS, COGE EL VALOR DEL VECTOR $direccion. NO LO PONGO PORQUE ES BASTANTE LARGO.
<?php



$inicio = 0;
$consulta = mysql_query("SELECT * FROM cortos");
$cantidad = mysql_num_rows($consulta);
echo "Páginas: " ;
echo "<a href='".$_SERVER["PHP_SELF">."?cat=videos&pag=" . $inicio . "'>".$inicio."</a>";
for($i=1;$i<=$cantidad/4;$i++){
echo "<a href='".$_SERVER["PHP_SELF">."?cat=videos&pag=" . $i . "'>".$i."</a>";
}


?>