PHP - ¿ Problema con sesion o con paginador ?

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

¿ Problema con sesion o con paginador ?

Publicado por Unexes (124 intervenciones) el 18/03/2013 22:15:44
Hola a todos, perdonar por el titulo pero no se si el problema esta en una variable de sesion o en el páginador.

Vereis he hallado un problema en la mi web y no me habia dado cuenta hasta ahora, asi que he intentado solucionarlo y no lo he encontrado, para ello incluso he hecho una versión reducidisima de la misma para verlo mas claro y ni aun así he podido encontrar el problema.

Lo que ocurre es que en inicio declaro unas variables de sesion y luego en la pagina coches.php hago una llamada a MenuLateral.php donde se encuentra el select que me da problemas y que se rellena desde una tabla, y tambien llamo a la pagina contenido.php que es donde muestro los resultados, utilizo el paginador "zebra_paginator.php" que hasta hoy no me ha dado ningún problema.

Mi problema es que selecciono en el select la ciudad de Barcelona y me muestra los coches de Barcelona, aunque cambie en numerosas ocasiones de pagina con el paginador me sigue mostrando los coches de Barcelona y el select sigue mostrando lo que he seleccionado la ciudad de "Barcelona" hasta aqui todo correcto. Pero si despues cambio de Barcelona a otra ciudad por ejemplo Madrid, me muestra los coches de Madrid y el select me muestra "Madrid" hasta que empiezo a utilizar el páginador, al cambiar de pagina con el mismo por ejemplo de la pagina 1 a la pagina 2 , me sigue mostrando los coches de la pagina 2 de Madrid que es lo correcto, pero el select cambia y me muestra la ciudad de "Zaragoza" que es la ultima de la tabla de la cual lee. Pero como he dicho el contenido que me muestra mientras cambio con el paginador siguen siendo los coches de Madrid osea lo que muestra sigue siendo correcto, solo el select funciona mal.

Muchas gracias a todos.

Este es mi codigo:
INICIO:PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
session_start();
$_SESSION["numpag"]=250;
$_SESSION["Ciudad"]="Todas las ciudades";
// Aqui indico que al entrar por primera vez me ponga 250 coches por página
// y presente los coches de todas las ciudades.
?>
<head>
</head>
<body>
<div id="Menu">
   <a href="Coches.php">Coches</a>
</div>
</body>

COCHES:PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
if(!isset($_SESSION))
{
session_start();
}
?>
<head>
        <script type='text/javascript' src='Js/jquery-1.7.1.min.js'></script>
</head>
<?php
		require_once('Connections/ConexionCoches.php');
		if(isset($_GET["selregistrospagina"])){
        $_SESSION["numpag"]=$_GET["selregistrospagina"];
        }
        $selregistrospagina=$_SESSION["numpag"];
?>
<body>
<div id="DivNumRegistrosPagina">
<form name="Paginas" method="GET" action="Coches.php">
<table width="195" height="30" border="0">
  <tr>
  <td align="center" class="ChicasPagina">Coches por página:</td>
  <td align="center">
  <select name="selregistrospagina" id="selregistrospagina" class="Guias3"  onchange="this.form.submit()" >
        <option value="" selected><?php echo $_SESSION["numpag"];?></option>
<?php
	$tablaregistrospagina = mysql_query("SELECT * FROM registrospagina ORDER BY Paginas ASC");
	while ($registroregistrospagina = mysql_fetch_array($tablaregistrospagina)) {
?>
<option value="<?php echo $registroregistrospagina['Paginas']; ?>"><?php echo $registroregistrospagina['Paginas']; ?></option>
<?php
	}
	mysql_free_result($tablaregistrospagina);
		?>
	</select>
    </td>
    </tr>
    </table>
    </form>
</div>
<div id="DivFiltrado"><?php require ("MenuLateral.php"); ?></div>
<div id='contenido'><?php require ("Contenido.php"); ?></div>
<script type='text/javascript'>
function cargarContenido(pagina)
{
    $("#contenido").html("<img src='clock.gif' class='clock' border='0' />");
    $("#contenido").load(pagina, $("#filtrar").serialize());
}
</script>
</body>

MENULATERAL:PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
if(!isset($_SESSION))
{
session_start();
}
?>
<head>
<?php
if(isset($_GET["selciudad"])){
        $_SESSION["Ciudad"]=$_GET["selciudad"];
        }
        $selciudad = $_SESSION["Ciudad"];
?>
</head>
<body>
<form name="filtrar" id="filtrar" method="GET"  action="">
<div id="accordion">
    <table width="185" height="30" border="0" cellspacing="5">
<tr>
<td align="left">
    <select name="selciudad" id="selciudad" class="Guias3" onChange="cargarContenido('Contenido.php')">
    <option value="Todas las ciudades" selected>&nbsp;Todas las ciudades</option>
    <option value="<?php echo $_SESSION["Ciudad"]; ?>" selected>&nbsp;&nbsp;<?php echo $_SESSION["Ciudad"]; ?></option>
<?php
    $tablaciudad = mysql_query("SELECT * FROM provincias  ORDER BY Provincia ASC");
    while ($registrociudad  = mysql_fetch_array($tablaciudad ))
        if (empty($_GET["selciudad"])<> '-1')
		{
           echo "<option value='".$registrociudad['Provincia']."' selected>&nbsp;&nbsp;".$registrociudad['Provincia']."</option>";
       }else{
          echo "<option value='".$registrociudad['Provincia']."' >&nbsp;&nbsp;".$registrociudad['Provincia']."</option>";      }
    mysql_free_result($tablaciudad);
?>
</select>
</td>
</tr>
</table>
</form>
</div>
</body>

CONTENIDO:PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
if(!isset($_SESSION))
{
session_start();
}
?>
<?php require_once('Connections/ConexionCoches.php');?>
<?php
if(isset($_GET["selregistrospagina"])){
        $_SESSION["numpag"]=$_GET["selregistrospagina"];
        }
        $selregistrospagina=$_SESSION["numpag"];
 
		if(isset($_GET["selciudad"])){
        $_SESSION["Ciudad"]=$_GET["selciudad"];
        }
        $selciudad=$_SESSION["Ciudad"];
		echo $_SESSION["Ciudad"];
?>
  <head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8">
        <link rel="stylesheet" href="Css/zebra_pagination.css" type="text/css">
        <link rel="stylesheet" href="Css/Coches.css" type="text/css">
        <link rel="stylesheet" href="Css/ClassCoches.css" type="text/css">
  </head>
<?php
		$records_per_page = $selregistrospagina;
        require 'Zebra_Pagination/Zebra_Pagination.php';
        $pagination = new Zebra_Pagination();
       $pagination->records_per_page($records_per_page);
?>
<body>
<div id="Consulta">
  <?php
$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM coches WHERE Activacion = '1'";
       if ($_SESSION["Ciudad"] <>'Todas las ciudades') {
		$sql .= "AND coches.Ciudad = '$selciudad' ";
	   }else {$sql .= "AND coches.Ciudad <> 'Todas las ciudades' ";
}
$sql .= 'ORDER BY Ciudad ASC ';
$sql .= 'LIMIT ' . (($pagination->get_page()- 1) * $records_per_page) . ', ' . $records_per_page . '';
        if (!($result = @mysql_query($sql))) {
            die(mysql_error()); }
        $rows = mysql_fetch_assoc(mysql_query('SELECT FOUND_ROWS() AS rows'));
         $pagination->records($rows['rows']);
         $pagination->records_per_page($records_per_page);
$tabla = mysql_query($sql);
while ($registro = mysql_fetch_array($tabla)) {
		?>
 <div class="Prueba">
 <table class="MarcoFotoPrincipal" width="183" border="0">
  <tr>
          <td><a href="Ficha.php?Id=<?php echo $registro['Id']; ?>"><img border="0" src="<?php echo $registro['FotoPrincipal']; ?>" width="165px" height="240px"></a></td>
  </tr>
  </table>
 </div>
<?php
}
mysql_free_result($tabla);
?>
</div>
<?php
	$pagination->render();
?>
<?php
echo "Página:  ";
echo "<a class=\"Paginacion\">".$pagination->get_page()."</a>";
echo "   de   ";
echo "<a class=\"Paginacion\">".$pagination->_total_pages ."</a>";
?>
<?php
echo "Coches:&nbsp;&nbsp;";
echo "<a class=\"Paginacion\">".$rows['rows'] ."</a>";
?>
</body>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder