Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2008, 18:01
todoscogidos
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 17 años
Puntos: 0
Problemas con el uso de sesiones en la paginación

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.


Código:
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++;}
// ESTO ES EL CÓDIGO PARA MOSTRAR LOS VIDEOS
 ?>
 <table width="50%" border="0">
  <tr>
    <td><?php if($direccion[$a]){
				$autor= array();
			  $autores =mysql_query("SELECT id_autor FROM cortos_autor WHERE id_corto ='{$idcorto[$a]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $autor[0] = $row[0];
			  
			  //print ": $autor";
			$autores = mysql_query("SELECT nombre,apellido1,apellido2 FROM autor WHERE id_autor='{$autor[0]}'");
			while($rows = @mysql_fetch_array($autores, MYSQL_NUM)){
			$autor[0] = $rows[0];

			$autor[1] = $rows[1];
			$autor[2] = $rows[2];}					  	
			print "Autor: $autor[0] $autor[1] $autor[2] "; }?></td>
    <td><?php 
			  if($direccion[$a]){
				$b= $a+1; 
				$autor= array();
			  $autores =mysql_query("SELECT id_autor FROM cortos_autor WHERE id_corto ='{$idcorto[$b]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $autor[0] = $row[0];
			  
			  //print ": $autor";
			$autores = mysql_query("SELECT nombre,apellido1,apellido2 FROM autor WHERE id_autor='{$autor[0]}'");
			while($rows = @mysql_fetch_array($autores, MYSQL_NUM)){
			$autor[0] = $rows[0];
			$autor[1] = $rows[1];
			$autor[2] = $rows[2];}	
			if($autor[0])				  	
			print "Autor: $autor[0] $autor[1] $autor[2] ";} ?></td>
  </tr>
  <tr>
    <td><?php if($direccion[$a]){
			 $titulo= array();
			  $autores =mysql_query("SELECT titulo FROM cortos WHERE id_corto ='{$idcorto[$a]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $titulo[0] = $row[0]; 
			  print " Título: $titulo[0]";}?></td>
    <td><?php if($direccion[$a]){
				$b = $a +1;
				$titulo= array();
			  $autores =mysql_query("SELECT titulo FROM cortos WHERE id_corto ='{$idcorto[$b]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $titulo[0] = $row[0];
			  if($titulo[0])
			  print "Título: $titulo[0]";}?></td>
  </tr>
  <tr>
    <td><object width="200" height="200">
 <param name="movie" value="http://www.youtube.com/v/<?php echo $direccion[$a]; ?>=en">
 </param>
<param name="wmode" value="transparent">
</param>
<embed src="http://www.youtube.com/v/<?php  echo $direccion[$a]."&".hl; $a++; ?>=en" type="application/x-shockwave-flash" wmode="transparent" width="200" height"200"></embed>
 </object></td>
    <td><object width="200" height="200">
 <param name="movie" value="http://www.youtube.com/v/<?php echo $direccion[$a]; ?>=en">
 </param>
<param name="wmode" value="transparent">
</param>
<embed src="http://www.youtube.com/v/<?php  echo $direccion[$a]."&".hl; $a++; ?>=en" type="application/x-shockwave-flash" wmode="transparent" width="200" height"200"></embed>
 </object></td>
  </tr>
  <tr>
    <td><?php $video = $a -2;if($direccion[$video]){?><a href="http://www.youtube.com/watch?v=<?php  echo $direccion[$video]; ?>" rel="vidbox" title="caption">Ver Vídeo</a><?php }?></td>
    <td><?php $video = $video +1; if($direccion[$video]){?><a href="http://www.youtube.com/watch?v=<?php  echo $direccion[$video]; ?>" rel="vidbox" title="caption">Ver Vídeo</a><?php }?></td>
  </tr>
  <tr>
    <td><?php if($direccion[$a]){
			  $autor= array();
			  $autores =mysql_query("SELECT id_autor FROM cortos_autor WHERE id_corto ='{$idcorto[$a]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $autor[0] = $row[0];
			  
			  //print ": $autor";
			$autores = mysql_query("SELECT nombre,apellido1,apellido2 FROM autor WHERE id_autor='{$autor[0]}'");
			while($rows = @mysql_fetch_array($autores, MYSQL_NUM)){
			$autor[0] = $rows[0];
			$autor[1] = $rows[1];
			$autor[2] = $rows[2];}					  	
			print "Autor: $autor[0] $autor[1] $autor[2] "; }?></td>
    <td><?php 
			  if($direccion[$a]){
				 $b = $a +1;
				$autor= array();
			  $autores =mysql_query("SELECT id_autor FROM cortos_autor WHERE id_corto ='{$idcorto[$b]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $autor[0] = $row[0];
			  
			 
			$autores = mysql_query("SELECT nombre,apellido1,apellido2 FROM autor WHERE id_autor='{$autor[0]}'");
			while($rows = @mysql_fetch_array($autores, MYSQL_NUM)){
			$autor[0] = $rows[0];
			$autor[1] = $rows[1];
			$autor[2] = $rows[2];}
			if($autor[0])				  	
			print "Autor: $autor[0] $autor[1] $autor[2] "; }?></td>
  </tr>
  <tr>
    <td><?php if($direccion[$a]){
			  $titulo= array();
			  $autores =mysql_query("SELECT titulo FROM cortos WHERE id_corto ='{$idcorto[$a]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $titulo[0] = $row[0]; 
			  print " Título: $titulo[0]";}?></td>
    <td><?php if($direccion[$a]){
				$b = $a +1;
				$titulo= array();
			  $autores =mysql_query("SELECT titulo FROM cortos WHERE id_corto ='{$idcorto[$b]}'"); 
			  while ($row = @mysql_fetch_array($autores))
			  $titulo[0] = $row[0];
			  if($titulo[0])
			  print "Título: $titulo[0]";}
			  ?></td>
  </tr>
  <tr>
    <td><p>
      <object width="200" height="200">
        <param name="movie" value="http://www.youtube.com/v/<?php echo $direccion[$a]; ?>=en">
        </param>
     <param name="wmode" value="transparent">
     </param>
     <embed src="http://www.youtube.com/v/<?php  echo $direccion[$a]."&".hl; $a++; ?>=en" type="application/x-shockwave-flash" wmode="transparent" width="200" height"200"></embed>
      </object>
    </p>      </td>
    <td><object width="200" height="200">
 <param name="movie" value="http://www.youtube.com/v/<?php echo $direccion[$a]; ?>=en">
 </param>
<param name="wmode" value="transparent">
</param>
<embed src="http://www.youtube.com/v/<?php  echo $direccion[$a]."&".hl; //$a++; ?>=en" type="application/x-shockwave-flash" wmode="transparent" width="200" height"200"></embed>
 </object></td>
  </tr>
  <tr>
    <td><?php $video = $a -1;if($direccion[$video]){ ?><a href="http://www.youtube.com/watch?v=<?php  echo $direccion[$video]; ?>" rel="vidbox" title="caption">Ver Vídeo</a><?php } ?></td>
    <td><?php  $video = $a;if($direccion[$video]){?><a href="http://www.youtube.com/watch?v=<?php echo $direccion[$video]; ?>" rel="vidbox" title="caption">Ver Vídeo</a><?php }?></td>
  </tr>
</table>

    <?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>"; 
    } 

  
?>