Foros del Web » Programando para Internet » PHP »

Duda con sesiones

Estas en el tema de Duda con sesiones en el foro de PHP en Foros del Web. Hola mi duda es la siguiente : Se puede meter en una variable sesion el contenido de un array?? Como se haría?Y luego como se ...
  #1 (permalink)  
Antiguo 01/06/2008, 13:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Duda con sesiones

Hola mi duda es la siguiente :

Se puede meter en una variable sesion el contenido de un array??

Como se haría?Y luego como se accedería a cada elemento del array dentro de la variable sesion?

Gracias.
  #2 (permalink)  
Antiguo 01/06/2008, 14:09
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Duda con sesiones

hola

Código PHP:
$_SESION['array'] = $array;//la guardas
$array $_SESION['array']; //la recuperas 
Guardas el array en una variable, a su vez en una variable de sesion y despues recuperas esa variable que contiene el array y la manipulas como quieras

espero que te sirva
Un saludo
  #3 (permalink)  
Antiguo 01/06/2008, 15:34
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda con sesiones

Hola, gracias pero no me ha servido, o porque lo he hecho mal o porque para lo que yo quiero no sirve.

Te cuento un poco más de lo que va la cosa, yo tengo en una base de datos una serie de videos y los muestro mediante paginacion, hasta ahi sin problemas. Pero tengo un buscador en la página a modo de filtro para que los usuarios puedan elegir ver videos de una determinada categoría o tema.

El problema viene cuando hago la búsqueda, la página 0 me la muestra bien con los videos que tocan según a la elección del usuario, pero cuando le doy a ver al página 1 me muestra la página una de todos los vídeos sin ningún filtro. Y he leido por ahí que eso se hace con sesiones, pero es que no se como...

Puedes ayudarme??

Gracias.

Aqui pongo el código sin sesiones:

Código:
									
$videos= 4;
$pagina = $HTTP_GET_VARS['pag'];
if (empty($pagina)){$limite =0;}
else {$limite = $pagina * $videos;}		


if(isset($_REQUEST['buscador'])){
if(($_POST['buscatema']==0)&& ($_POST['buscacategoria']==0)){
$consulta = mysql_query("SELECT url,id_corto FROM cortos ORDER BY id_corto ASC LIMIT $limite,$videos");
 
  
//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS

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

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS
  
 
  

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

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS

}
elseif(($_POST['buscatema']==1)&& ($_POST['buscacategoria']==2)){
$consulta = mysql_query("SELECT url,id_corto FROM cortos WHERE id_tema = '1' AND id_categoria ='2' ORDER BY id_corto ASC LIMIT $limite,$videos");

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS

}

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

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS

}
elseif(($_POST['buscatema']==2)&& ($_POST['buscacategoria']==1)){
$consulta = mysql_query("SELECT url,id_corto FROM cortos WHERE id_tema = '2' AND id_categoria ='1'  ORDER BY id_corto ASC LIMIT $limite,$videos");

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS


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

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS

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

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS

}
elseif(($_POST['buscatema']==1)&& ($_POST['buscacategoria']==2)){
$consulta = mysql_query("SELECT url,id_corto FROM cortos WHERE id_corto = '1' AND id_categoria ='2'  ORDER BY id_corto ASC LIMIT $limite,$videos");

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS


}

else{
$consulta = mysql_query("SELECT url,id_corto FROM cortos ORDER BY id_corto ASC LIMIT $limite,$videos");

//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS

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

  
?>
					  </div>
				  </div>
<div class="column_1">&nbsp;
						<p>&nbsp;</p>
<div class="indent">
						  <p><span class="titulo">Buscador</span><br />
							<img src="images/spacer.gif" alt="" width="1" height="18" /><br />
							</p>
						  <p>&nbsp;</p>
						  <p>&nbsp;</p>
						  <p>&nbsp;</p>
						  <form id="form3" name="form3" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
						    <label>Tema:<br />
						    <select name="buscatema" id="buscatema">
						      <option value="0" selected="selected"></option>
						      <option value="1">Brecha Digital</option>
						      <option value="2">Basura Electrónica</option>
					        </select>
						    </label>
						   
                            <p>&nbsp;</p>
                            <p>
                              <label>Categoría <br />
                              <select name="buscacategoria" id="buscacategoria">
                                <option value="0" selected="selected"></option>
                                <option value="1">Documental</option>
                                <option value="2">Ficción</option>
                              </select>
                              </label>
                            </p>
                            <p>&nbsp;</p>
                            <p>
                              <label>
                              <input type="submit" name="buscador" id="buscador" value="Actualizar Vista" />
                              </label>
                            </p>
		    </form>
						  <p><br />
							<img src="images/spacer.gif" alt="" width="1" height="18" /></p>
						  </div>
				  </div>
				  <div class="clear"></div>
				</div>
				<div class="fill">
						<div class="top_mob">
							<div class="bot_mob">
							  
<div class="column_4">
  
  </div>
						  </div>
				  </div>
					</div>
			</div>
	
</body>
</html>
  #4 (permalink)  
Antiguo 01/06/2008, 15:50
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Duda con sesiones

pero no te seria mas sencillo pasar esos filtros con dos select de html y pasar por POST esos dos valores y hacer un solo query???

siempre seleccionas los mismos campos de la misma tabla de la BD, creo que se podria hacer con un solo query,
porque cuantos son los filtros???
  #5 (permalink)  
Antiguo 01/06/2008, 15:57
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda con sesiones

Son dos filtros, uno es tema y otro categoria.

No he entendido eso de hacerlo en un sólo query.

Puedes explicarmelo un poco más detallado por favor?

Gracias.
  #6 (permalink)  
Antiguo 01/06/2008, 16:02
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Duda con sesiones

Prueba algo a si es la idea, termina de implantartelo a tu codigo, espero que te pueda servir



Código PHP:

<?php 


$buscatema 
$_POST ['buscatema']; //recoges el valor de buscatema
$buscacategoria $_POST ['buscacategoria'];//recoges buscacategoria

if (isset($buscatema) || isset ($buscacategoria)){ //compruebas que llega alguno de los dos y haces la consulta

$consulta mysql_query("SELECT url,id_corto FROM cortos WHERE id_tema = '$buscatema' AND id_categoria ='$buscacategoria'  ORDER BY id_corto ASC LIMIT $limite,$videos"); //no se de donde sacas estas dos variable??


//AQUI VA EL CÓDIGO PARA MOSTRAR LOS VÍDEOS


}

?>
Un saludo
  #7 (permalink)  
Antiguo 01/06/2008, 16:11
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda con sesiones

Y no haria falta nada de sesiones??

Estoy arreglando el código pero tengo q borrar bastante del q tengo hecho jeje
  #8 (permalink)  
Antiguo 01/06/2008, 16:15
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Duda con sesiones

si no has de pasar las variables a otra pagina que no sea esa no haran falta sesiones

pero si tu problema era el paginar, tendras problemas

Te aconsejo que uses la clase de paginado de jpinedo,el PAGINATOR, facil de usar, busca en google
  #9 (permalink)  
Antiguo 01/06/2008, 16:36
 
Fecha de Ingreso: febrero-2008
Mensajes: 76
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda con sesiones

ok muchas gracias la buscare.
Grcias por tu ayuda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:45.