Foros del Web » Programando para Internet » PHP »

Problemas con sesiones y con paginación

Estas en el tema de Problemas con sesiones y con paginación en el foro de PHP en Foros del Web. HOla a todos, Tengo un motor de base de datos y los resultados los estoy paginando. Estoy usando sesiones. Todo va bien hasta la primera ...
  #1 (permalink)  
Antiguo 14/02/2010, 09:27
Avatar de daniel.manchego  
Fecha de Ingreso: mayo-2006
Mensajes: 111
Antigüedad: 17 años, 11 meses
Puntos: 0
Sonrisa Problemas con sesiones y con paginación

HOla a todos,

Tengo un motor de base de datos y los resultados los estoy paginando.

Estoy usando sesiones.

Todo va bien hasta la primera consulta. En la segunda, cuando le doy click , me entrega el resultado de la primera consulta....

Cómo puedo solucionarlo???

Saludos.
__________________
Daniel Manchego
http://dmanchego.blogspot.com
  #2 (permalink)  
Antiguo 14/02/2010, 09:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problemas con sesiones y con paginación

te aconsejo mostrar el código para poder orientarte
  #3 (permalink)  
Antiguo 14/02/2010, 09:48
Avatar de daniel.manchego  
Fecha de Ingreso: mayo-2006
Mensajes: 111
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problemas con sesiones y con paginación

Hola!

El código está en :

http://ibcperu.org/biblioteca/catalogo.php

Tengo 2 opciones de búsqueda, por un combo de palabras o por una caja de texto.


El script es:

session_cache_limiter('private');
session_start();

//guardo las sessiones
if(isset($_GET['criterio']))
{
$_SESSION['criterio'] = $_GET['criterio'];
$_SESSION['palabra_clave'] =$_GET['palabra_clave'];
$criterio = $_SESSION['criterio'];
$palabra_clave = $_SESSION['palabra_clave'] ;

}
elseif (isset($_GET['pagina']))
{
if(strlen($_SESSION['criterio'])<> 0)
{
$criterio = $_SESSION['criterio'];
$palabra_clave = $_SESSION['palabra_clave'] ;
}
}
else
{
$criterio = "";
}

if (isset($_POST['all_field']))
{
$palabra_clave = $_POST['all_field'];
$option = $_POST['search_type'];
$solo_pdf = $_POST['search_type'];

$_SESSION['palabra_clave'] = $_POST['all_field'];
$_SESSION['option'] = $_POST['search_type'];
$_SESSION['solo_pdf'] = $_POST['search_type'];
}
elseif(isset($_GET['pagina']))
{
if (strlen($_SESSION['option']) > 0)
{
$palabra_clave = $_SESSION['palabra_clave'];
$option = $_POST['search_type'];
$solo_pdf = $_POST['solo_pdf'];
}
}


DE AHI ES LA PAGINACION

Y ENTREGAR LOS RESULTADOS.

Saludos!!
__________________
Daniel Manchego
http://dmanchego.blogspot.com
  #4 (permalink)  
Antiguo 14/02/2010, 11:23
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problemas con sesiones y con paginación

Creo que tu problema está en el LIMIT de sql, ya que te muestra los primeros resultados.
Te aconsejo que pongas más código para orientarnos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 14/02/2010, 18:18
Avatar de daniel.manchego  
Fecha de Ingreso: mayo-2006
Mensajes: 111
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problemas con sesiones y con paginación

Aqui va el código completo!


session_cache_limiter('private');
session_start();

$opt=0;

$db = new db_MySql;
$db->identification($BDD_Host,$BDD_Name,$BDD_User,$BDD _Password);




$objMenu = new clsMenu;




//definimos los sql básicos
//$strSQL_base = 'select * from isis where ';

$strSQLExecute = "";

$strSQL_base = "SELECT i.*";
$strSQL_base .= ",d_i.chp_date,d_i.chp_auteur,d_i.chp_titre, d_i.doc_type_isis_".$lg_min." AS chp_doc_type,d_i.chp_fiche,d_i.chp_detalle";
$strSQL_base .= ",d_t.doc_type_".$lg_min." AS chp_doc_categ,d_t.iddoc_type ";
$strSQL_base .= " FROM isis i,doc_type_isis d_i, doc_type d_t";
$strSQL_base .= " WHERE ( i.isis927 = d_i.codigo AND d_i.iddoc_type=d_t.iddoc_type) and ";

$strSQL_final = " AND d_i.iddoc_type = 6";
//$rqt .= " AND i.isis403 IN(".$doc_ref.")";

//descriptores temáticos y geográficos
$strSQL_tematico = " MATCH (isis087,isis088) AGAINST ('CLAVE' IN BOOLEAN MODE) ";
$strSQL_geografico = " MATCH (isis080,isis082,isis104,isis105,isis106) AGAINST ('CLAVE' IN BOOLEAN MODE) " ;

if(isset($_GET['criterio']))
{
$_SESSION['criterio'] = $_GET['criterio'];
$_SESSION['palabra_clave'] =$_GET['palabra_clave'];
$criterio = $_SESSION['criterio'];
$palabra_clave = $_SESSION['palabra_clave'] ;

}
elseif (isset($_GET['pagina']))
{
if(strlen($_SESSION['criterio'])<> 0)
{
$criterio = $_SESSION['criterio'];
$palabra_clave = $_SESSION['palabra_clave'] ;
}
}
else
{
$criterio = "";
}

if (isset($_POST['all_field']))
{
$palabra_clave = $_POST['all_field'];
$option = $_POST['search_type'];
$solo_pdf = $_POST['search_type'];

$_SESSION['palabra_clave'] = $_POST['all_field'];
$_SESSION['option'] = $_POST['search_type'];
$_SESSION['solo_pdf'] = $_POST['search_type'];
}
elseif(isset($_GET['pagina']))
{
if (strlen($_SESSION['option']) > 0)
{
$palabra_clave = $_SESSION['palabra_clave'];
$option = $_POST['search_type'];
$solo_pdf = $_POST['solo_pdf'];
}
}


if ( strlen($palabra_clave)>2 and $solo_pdf >=0 )
{


switch ($option)
{
case 0: $all_field = str_replace(' ','+',$palabra_clave);
$all_field = '+'.$all_field;
break;
case 1: $all_field = $_POST['all_field'];
break;
case 2: $all_field = sprintf('"%s"',$palabra_clave);
break;
}

$strSQLCampos = sprintf(" MATCH (isis010,isis011,isis012,isis016,isis017,isis018,i sis025,isis027,isis030,isis031,isis059,isis064,isi s080,isis082,isis087,isis088,isis104,isis105,isis1 06,isis107,isis108,isis109,isis119,isis126,isis115 ,isis125) AGAINST ('%s' IN BOOLEAN MODE ) ",$all_field);

if ($solo_pdf = 1)
$strSQL_pdf = ' and isis900 <> "" ';
else
$strSQL_pdf = "";

$strSQLExecute = $strSQL_base.$strSQLCampos.$strSQL_pdf.$strSQL_fin al;

}
__________________
Daniel Manchego
http://dmanchego.blogspot.com
  #6 (permalink)  
Antiguo 14/02/2010, 19:31
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problemas con sesiones y con paginación

Lo que yo te decía. No es que tengas problemas con el LIMIT, sino que ni siquiera lo tienes puesto (o yo no lo veo).
utiliza las etiquetas de highlight, que estos códigos son ilegibles.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: sesiones
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 18:08.