Foros del Web » Programando para Internet » PHP »

Select + Paginación

Estas en el tema de Select + Paginación en el foro de PHP en Foros del Web. Hola compañeros! Estoy haciendo 1 web y me atasco en un punto, he buscado largo y tendido pero es un problema bastante concreto (creo) y ...
  #1 (permalink)  
Antiguo 02/01/2008, 15:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Select + Paginación

Hola compañeros!
Estoy haciendo 1 web y me atasco en un punto, he buscado largo y tendido pero es un problema bastante concreto (creo) y no he podido solucionarlo.
En el panel interno tengo 1 seccion en la que aparecen un listado de inmuebles, estos están paginados y funciona perfectamente, el problema viene porque también tengo un select para ordenar los resultados. tanto el select como la paginación funcionan perfectamente por separado pero al unirlo todo solo me saca correctamente la primera página y yo lo que quiero es que funcione también en las demás, no se si le tengo que pasar el parámetro de la página actual o ke hacer (llevo pocos meses en el mundo del php).
Os dejo el código para ver si algun alma caritativa me puede echar una mano:
Código:
	<?
              ////PAGINACION///
			
			$registros = 3;
				if (!$pagina)
				    {$inicio = 0;$pagina = 1;}
				else
				{    $inicio = ($pagina - 1) * $registros;}	
			?>


<!-- --------------------------------    LISTADO DE INMUEBLES empieza ---------------------------------------------- -->

<?php
       
  	//si viene del select ordenar, le pasamos el string para que ordene correctamente
     if (($_POST['ordenar_select'])
       {
         $link=conectarse();
         $consulta=mysql_query("SELECT*FROM inmuebles",$link);//1º consultamos el numero de registros totales
         $total_registros = mysql_num_rows($consulta);
         $order = mysql_escape_string( $_POST['ordenar_select'] );
         $consulta=mysql_query("SELECT*FROM inmuebles ORDER BY $order LIMIT $inicio, $registros",$link );
        } 
    
     else
        { 
        
         $link=conectarse();
         $consulta=mysql_query("SELECT*FROM inmuebles",$link);//1º consultamos el numero de registros totales
         $total_registros = mysql_num_rows($consulta);
         $consulta=mysql_query("SELECT*FROM inmuebles  ORDER BY id LIMIT $inicio, $registros",$link);         
        }
   
    /// Calculamos el número de páginas que hay
    $total_paginas = ceil($total_registros / $registros);
	
    ///3º MOSTRAMOS LOS RESULTADOS
    while($fila=mysql_fetch_array($consulta))
         {
		 $id = $fila["id"];
		 $tipo = $fila["tipo"];
		 $localidad = $fila["localidad"];
		 $zona = $fila["zona"];
		 $calle = $fila["calle"];
		 $numero_y_piso = $fila["numero_y_piso"];
		 $modo = $fila["modo"];
		 $precio = $fila["precio"];
		 $habitaciones = $fila["habitaciones"];
		 $baños = $fila["baños"];
		 $luz = $fila["luz"];
		 $telef_fijo = $fila["telef_fijo"];
         $calefaccion = $fila["calefaccion"];
		 $garaje = $fila["garaje"];
		 $metros = $fila["metros"];
		 $observaciones = $fila["observaciones"];
		 $foto_principal = $fila["foto_principal"];
		 $foto_2 = $fila["foto_2"];
         $foto_3 = $fila["foto_3"];
		 $foto_4 = $fila["foto_4"];
		 $propietario = $fila["propietario"];
		 $telefono = $fila["telefono"];
		 $aparece_portada = $fila["aparece_portada"];
		 $menu_movil = $fila["menu_movil"];

		 
   
 
         if ( $fila_color%2 == 0)
	        $color = "#FFFFFF";
	     else
	        $color = "#f7ffd9";
?>	  

    						   
	<div style="width:563px; overflow:hidden;">
		<table width="563px" cellpadding="0" cellspacing="0" border="0" bgcolor="<?=$color?>">
		    
			<tr>
			   	<td width="10%" height="21px"  class="listado_inmuebles" style="padding-left:7px;"><?=$id?></td>					
				<td width="8%" height="21px"  class="listado_inmuebles"><?=$tipo?></td>					
				<td width="12%" height="21px"  class="listado_inmuebles"><?=$localidad?></td>
				<td width="13%" height="21px"  class="listado_inmuebles"><?=$calle?></td>					
				<td width="10%" height="21px"  class="listado_inmuebles"><?=$modo?></td>					
				<td width="12%" height="21px"  class="listado_inmuebles"><?=$precio?>.000 &euro;</td>
				<td width="20%" height="21px"  class="listado_inmuebles"><?=$propietario?></td>
			    <td width="15%" height="21px"  class="listado_inmuebles"><a href="./index.php?menu=modificar_inmueble&&id=<?=$id?>" class="enlace4">editar</a> | <a href="#" class="enlace4" onClick="if (confirm('Seguro que desea eliminar el inmueble nº <?=$id?> ?')) window.location='./index.php?menu=categorias&&eliminar=<?=$id?>'">borrar</a></td>
			</tr>

		</table>
		 
	 </div>


<?php
     $fila_color++;
     }  // while
?>

<!-- -------------------------------------- LISTADO DE INMUEBLES acaba ---------------------------------------------- -->
						   
						</td>
					 </tr>
					 
					 <!-- Última fila, parte de abajo de la tabla -->
					 <tr>
			            <td width="567px" height="15px"><img src="img/tabla_abajo.jpg" width="567px" height="15px"></td>
			         </tr>
				  </table>
			   </td>
			</tr>
	     </table>
		  
	  </td>

	  <!-- Separación del cuerpo con el borde derecho de la página -->
	  <td width="12px" height="371px"><img src="img/pixel_transparente.gif"></td>

	<!-- Sombra del cuerpo -->
	  <td background="img/sombra_dcha.jpg" width="10px" height="371px" valign="top"></td>
   </tr>
   <tr><td colspan="5" style="text-align:center; padding-left:170px;">
    

<?

/// Enseña la paginación si hay más productos encontrados que la limitación que hicimos
if ($total_registros > $registros)
   {
   /// En primer lugar construimos el enlace de "anterior", que restará páginas, se pone de dos formas, con enlace si toca y si estamos en la pagina 1 como texto
   if(($pagina - 1) > 0)
      { ?>
      <a href="index.php?menu=categorias&pagina=<?=$pagina-1?>" class="enlace_pagina" ><span style="padding-right:15px;">Anterior</span><img src="./img/flecha_izq.gif" width="13" height="10" border="0"></a>
   <? }

   else
      {  ?>
      <span class="sin_pagina"><span style="padding-right:15px;">anterior</span><img src="./img/flecha_izq_gris.gif" width="13" height="10" border="0"></span>
  <?  }
	     
   /// Ahora creamos un bucle para escribir la numeración de las páginas     
   for ($i=1; $i<=$total_paginas; $i++)
      {
      if ($i == $pagina)
         echo "<span class='enlace_numero'>&nbsp;&nbsp;<b>".$pagina."</b>&nbsp;&nbsp;</span>";
      else
         { ?>
         &nbsp;<a href="index.php?menu=categorias&pagina=<?=$i?>" class="enlace_pagina">&nbsp;<?=$i?>&nbsp;</a>&nbsp;
      <? }
      }//for

   /// Ahora por último, contruimos el "siguiente" como enlace o como texto, depende ande estemos
   if( $pagina < $total_paginas )
      { ?> 
      <a href="index.php?menu=categorias&pagina=<?=$pagina+1?>" class="enlace_pagina"><img src="./img/flecha_dcha.gif" width="13" height="10" border="0"><span style="padding-left:15px;">siguiente</span></a>
   <? }
         
   else
      { ?>
      <span class="sin_pagina"><img src="./img/flecha_dcha_gris.gif" width="13" height="10" border="0"><span style="padding-left:15px;">siguiente</span></span>
   <? }

   } /// Cierra el if de mostrar paginación

?>
Muchisimas gracias por adelantado
  #2 (permalink)  
Antiguo 02/01/2008, 17:51
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

alguna ayuda?
  #3 (permalink)  
Antiguo 03/01/2008, 01:43
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

Help! help! help!
  #4 (permalink)  
Antiguo 03/01/2008, 04:10
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Select + Paginación

No comprendo... ¿qué es lo que no te funciona en la segunda página? Explicalo mejor pls.
  #5 (permalink)  
Antiguo 03/01/2008, 05:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

Lo que me va mal es que a partir de la 2ª página, no sigue el orden del select y pagina como si no le hubiera dado:
Pongo un ejemplo xa explicarme mejor:
-Tenemos 9 registros
-Los pagino para que aparezcan 3 por página
-Tenemos un select que los ordena según precio,...etc.

-Por defecto paginamos los registros por id
-Pulso el select y le digo que me los ordene por precio:
·A continuación me aparece la primera página correctamente, pero al ir a la página 2 ya no están ordenados según el criterio anterior (precio) sino que vuelve al orden por defecto (id), por lo que me imagino que le tendría que pasar la id de la pagina actual o no se ké porque no tengo ni idea de cómo arreglarlo

Espero haberme explicado mejor, gracias
  #6 (permalink)  
Antiguo 03/01/2008, 10:52
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Select + Paginación

El problema es que no recibes nuevamente la variable $_POST['ordenar_select'], ademas no tienes que hacer con POST tienes que hacer con el metodo GET

primero recibe esa variable de esta manera:

$ordenar=$_GET['ordenar_select'];

luego cambia esto por esto:

$order = mysql_escape_string( $_POST['ordenar_select'] );

por esto:

$order = mysql_escape_string( $ordenar );


y en los enlaces anterior, siguiente etc tienes que pasar la variable

$_GET['ordenar_select']

Saludos.
  #7 (permalink)  
Antiguo 03/01/2008, 12:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

Nada, al poner las cosas como me indicas lo que hace es volver al index, que evalúa, y como no encuentra ningún caso igual me devuelve a la página de inicio del panel y no a a página en la que estaba.

Pongo el famoso SELECT

Código:
<form name="ordenar_form" method="GET" action="index.php?menu=categorias">
			   <td class="ordenar" align="right" width="568px" height="32px>
		          Ordenar por:&nbsp;
		          <select name="ordenar_select">
                                       <option>-seleccione-
									<option value="tipo">Tipo
									<option value="localidad">Localidad
									<option value="calle">Calle
									<option value="modo">Modo	
									<option value="precio">Precio
								<option value="propietario">Propietario	
			</select>
                         <input type="submit" name="submit" value="ok">
		       </td>
              </form>
  #8 (permalink)  
Antiguo 03/01/2008, 13:24
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Select + Paginación

A ver como lo has puesto? muestra el nuevo codigo.

Última edición por ginitofl; 03/01/2008 a las 13:25 Razón: correccion
  #9 (permalink)  
Antiguo 03/01/2008, 14:01
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

Ok, ahí va el tocomomcho de inmuebles.inc.php
PARTE1:

Código:
<?php                  
	if (isset ($eliminar))
	 {
	  
    
      $link = conectarse();

      
   // Primero hay que saber el nombre de las fotos para borrar los archivos  -----------------------------------------
   
   $sql = "SELECT foto_principal, foto_2, foto_3, foto_4 FROM inmuebles WHERE id = $eliminar";
   $resultado = mysql_query($sql) or die ($sql .mysql_error()."hay errores" ) ; 
   $fila = mysql_fetch_array($resultado);

   
  
   // A continuación borramos los archivos  --------------------------------------------------------------------------
   if ($fila["foto_principal"] != "")
      unlink($fila["foto_principal"]);

  if ($fila["foto_2"] != "")
      unlink($fila["foto_2"]);
  
   if ($fila["foto_3"] != "")
      unlink($fila["foto_3"]);

   if ($fila["foto_4"] != "")
      unlink($fila["foto_4"]);
   
  
      //ahora borro los datos de la tabla
      
      $sql="DELETE FROM inmuebles WHERE id=$eliminar";
      mysql_query($sql,$link);
	 }    
   
  
     if (isset($agregar))
     {

      	//SUBIDA DE IMAGENES  Y MODIFICACION

//foto_principal
   if ($HTTP_POST_FILES['foto_principal']['name'] != "" )
         {
//  Subo la imagen nueva al servidor
         $foto_principal_usuario = $HTTP_POST_FILES['foto_principal']['name'];
  		 $foto_principal_temporal = $HTTP_POST_FILES['foto_principal']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_principal = "./../Img_inmuebles/$fechas$foto_principal_usuario";
         chmod("$foto_principal_temporal",0664);
 		 move_uploaded_file($foto_principal_temporal,$foto_principal); 
		 }

//foto_2
   if ($HTTP_POST_FILES['foto_2']['name'] != "" )
         {
//  Subo la imagen nueva al servidor
         $foto_2_usuario = $HTTP_POST_FILES['foto_2']['name'];
  		 $foto_2_temporal = $HTTP_POST_FILES['foto_2']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_2 = "./../Img_inmuebles/$fechas$foto_2_usuario";
         chmod("$foto_2_temporal",0664);
 		 move_uploaded_file($foto_2_temporal,$foto_2);
		 }

//foto_3
   if ($HTTP_POST_FILES['foto_3']['name'] != "" )
         {
//  Subo la imagen nueva al servidor
         $foto_3_usuario = $HTTP_POST_FILES['foto_3']['name'];
  		 $foto_3_temporal = $HTTP_POST_FILES['foto_3']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_3 = "./../Img_inmuebles/$fechas$foto_3_usuario";
         chmod("$foto_3_temporal",0664);
 		 move_uploaded_file($foto_3_temporal,$foto_3); 
		 }

//foto_4
   if ($HTTP_POST_FILES['foto_4']['name'] != "" )
         {
//  Subo la imagen nueva al servidor
         $foto_4_usuario = $HTTP_POST_FILES['foto_4']['name'];
  		 $foto_4_temporal = $HTTP_POST_FILES['foto_4']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_4 = "./../Img_inmuebles/$fechas$foto_4_usuario";
         chmod("$foto_4_temporal",0664);
 		 move_uploaded_file($foto_4_temporal,$foto_4); 
		 }

      $link = conectarse();
      $sql="INSERT INTO inmuebles(tipo,localidad,zona,calle,numero_y_piso,modo,precio,habitaciones,baños,luz,telef_fijo,calefaccion,garaje,metros,observaciones,foto_principal,foto_2,foto_3,foto_4,propietario,telefono,portada,menu_movil)VALUES('$tipo','$localidad','$zona','$calle','$numero_y_piso','$modo','$precio','$habitaciones','$baños','$luz','$telef_fijo','$calefaccion','$garaje','$metros','$observaciones','$foto_principal','$foto_2','$foto_3','$foto_4','$propietario','$telefono','$portada','$menu_movil')";
      mysql_query($sql,$link);
    //  echo"$sql";
     }

if (isset($modificar))
 {

      /////////si existe la variable modificar y se ha cambiado alguna imagen entra aki
  if ($modificar !='')
      {
 
//SUBIDA DE IMAGENES  Y MODIFICACION

//foto_principal
   if ($HTTP_POST_FILES['foto_principal']['name'] != "" )
         {

//primero borro la imagen antigua 
   $link = conectarse();
   $sql = "SELECT foto_principal FROM inmuebles WHERE id = $modificar";
   $resultado = mysql_query($sql) or die ($sql .mysql_error()."hay errores" ) ; 
   $fila = mysql_fetch_array($resultado);

   
   if ($fila["foto_principal"] != "")
   unlink($fila["foto_principal"]);


//  Subo la imagen nueva al servidor
         $foto_principal_usuario = $HTTP_POST_FILES['foto_principal']['name'];
  		 $foto_principal_temporal = $HTTP_POST_FILES['foto_principal']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_principal = "./../Img_inmuebles/$fechas$foto_principal_usuario";
         chmod("$foto_principal_temporal",0664);
 		 move_uploaded_file($foto_principal_temporal,$foto_principal); 

         $link = conectarse();
         $sql="UPDATE inmuebles SET foto_principal='$foto_principal' WHERE id=$modificar"; 
         mysql_query($sql,$link);
         //echo "$sql";
		 }

//foto_2
   if ($HTTP_POST_FILES['foto_2']['name'] != "" )
         {

//primero borro la imagen antigua 
   $link = conectarse();
   $sql = "SELECT foto_2 FROM inmuebles WHERE id = $modificar";
   $resultado = mysql_query($sql) or die ($sql .mysql_error()."hay errores" ) ; 
   $fila = mysql_fetch_array($resultado);

   if ($fila["foto_2"] != "")
   unlink($fila["foto_2"]);


//  Subo la imagen nueva al servidor
         $foto_2_usuario = $HTTP_POST_FILES['foto_2']['name'];
  		 $foto_2_temporal = $HTTP_POST_FILES['foto_2']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_2 = "./../Img_inmuebles/$fechas$foto_2_usuario";
         chmod("$foto_2_temporal",0664);
 		 move_uploaded_file($foto_2_temporal,$foto_2);

         $link = conectarse();
         $sql="UPDATE inmuebles SET foto_2='$foto_2' WHERE id=$modificar"; 
         mysql_query($sql,$link);
         //echo "$sql";  
		 }
//foto_3
   if ($HTTP_POST_FILES['foto_3']['name'] != "" )
         {

//primero borro la imagen antigua 
   $link = conectarse();
   $sql = "SELECT foto_3 FROM inmuebles WHERE id = $modificar";
   $resultado = mysql_query($sql) or die ($sql .mysql_error()."hay errores" ) ; 
   $fila = mysql_fetch_array($resultado);
   
   if ($fila["foto_3"] != "")
   unlink($fila["foto_3"]);


//  Subo la imagen nueva al servidor
         $foto_3_usuario = $HTTP_POST_FILES['foto_3']['name'];
  		 $foto_3_temporal = $HTTP_POST_FILES['foto_3']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_3 = "./../Img_inmuebles/$fechas$foto_3_usuario";
         chmod("$foto_3_temporal",0664);
 		 move_uploaded_file($foto_3_temporal,$foto_3); 

         $link = conectarse();
         $sql="UPDATE inmuebles SET foto_3='$foto_3' WHERE id=$modificar"; 
         mysql_query($sql,$link);
		 }
//foto_4
   if ($HTTP_POST_FILES['foto_4']['name'] != "" )
         {


//primero borro la imagen antigua 
   $link = conectarse();
   $sql = "SELECT foto_4 FROM inmuebles WHERE id = $modificar";
   $resultado = mysql_query($sql) or die ($sql .mysql_error()."hay errores" ) ; 
   $fila = mysql_fetch_array($resultado);
   
   if ($fila["foto_4"] != "")
   unlink($fila["foto_4"]);


//  Subo la imagen nueva al servidor
         $foto_4_usuario = $HTTP_POST_FILES['foto_4']['name'];
  		 $foto_4_temporal = $HTTP_POST_FILES['foto_4']['tmp_name'];
 		 $fechas = date("Y-m-d_H-i-s_");
 		 $foto_4 = "./../Img_inmuebles/$fechas$foto_4_usuario";
         chmod("$foto_4_temporal",0664);
 		 move_uploaded_file($foto_4_temporal,$foto_4); 

		 $link = conectarse();
         $sql="UPDATE inmuebles SET foto_4='$foto_4' WHERE id=$modificar"; 
         mysql_query($sql,$link);
		 }

 
 //y actualizo todo menos las imagenes
         $link = conectarse();
         $sql="UPDATE inmuebles SET tipo='$tipo',localidad='$localidad',zona='$zona',calle='$calle',numero_y_piso='$numero_y_piso',modo='$modo',precio='$precio',habitaciones='$habitaciones',baños='$baños',luz='$luz',telef_fijo='$telef_fijo',calefaccion='$calefaccion',garaje='$garaje',metros='$metros',observaciones='$observaciones',propietario='$propietario',telefono='$telefono',portada='$portada',menu_movil='$menu_movil' WHERE id=$modificar"; 
         mysql_query($sql,$link);
         //echo"$sql";

           }

     }
?>

	<!-- CUERPOOOOO -->
      <td width="572px" height="371px" valign="top" align="right">
	     
		 <table width="568px" cellpadding="0" cellspacing="0" border="0px">
		    
			<!-- Fila para el BUSCADOR y/o enlaces superiores, si los lleva -->
		    <tr>
              <form name="ordenar_form" method="GET" action="index.php?menu=categorias">
			   <td class="ordenar" align="right" width="568px" height="32px" valign="top">
		          Ordenar por:&nbsp;
		          <select name="ordenar_select">
                                       <option>-seleccione-
									   <option value="tipo">Tipo
									   <option value="localidad">Localidad
									   <option value="calle">Calle
									   <option value="modo">Modo	
									   <option value="precio">Precio
									   <option value="propietario">Propietario	
									  </select>
                                  <input type="submit" name="submit" value="ok">
				  &nbsp;
		       </td>
              </form>
			</tr>
  #10 (permalink)  
Antiguo 03/01/2008, 14:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

PARTE 2:

Código:
		<!-- Fila de la TABLA o FICHA CENTRAL, la información principal --> 
		    <tr>
			   <td width="568px" height="335px" valign="top">
			      <table width="567px" height="334px" cellpadding="0" cellspacing="0" border="0px">
				  
		             <!-- Primera fila es la parte de arriba, sólo el esqueleto con el fondo coloreado -->
					 <tr>
					    <td background="img/tabla_arriba.jpg" width="567px" height="21px">
						   <table width="563px" cellpadding="0" cellspacing="0" border="0px">
						      <tr>
							     <td width="40%"><div style="margin-left:50px;" class="titulo">Inmuebles > Categorias</div></td>
								 <td width="25%">&nbsp;</td>
								 <td class="titulo" width="25%">
								      
								 </td>
							
							 </tr>
						   </table>
						</td>
				     </tr>
					 
					 <!-- Parte central esqueleto tabla, forzamos la medida para que salga un mínimo de altura, pura estética -->
					 <tr>
					    <td width="567px" height="296px" class="td_bordes" valign="top">
						 <table width="563" height="21" cellpadding="0" cellspacing="0" border="0"style="background-color:#73A532;color:#F9F9F9">
					  			<tr>
									<td width="7%"><div class="titulares_inmuebles">Ref</div></td>
									<td width="8%"><div class="titulares_inmuebles">Tipo</div></td>
									<td width="12%"><div class="titulares_inmuebles">Localidad</div></td>
									<td width="13%"><div class="titulares_inmuebles">Calle</div></td>
									<td width="10%"><div class="titulares_inmuebles">Modo</div></td>
									<td width="12%"><div class="titulares_inmuebles">Precio</div></td>
									<td width="20%"><div class="titulares_inmuebles">Propietario</div></td>
									<td width="18%"><div class="titulares_inmuebles">Opciones</div></td>
				    			</tr>
 	                    </table>
			   			   

			<?
              ////PAGINACION///
			$registros = 5;
				if (!$pagina)
				    {$inicio = 0;$pagina = 1;}
				else
				{    $inicio = ($pagina - 1) * $registros;}	
			?>


<!-- --------------------------------    LISTADO DE INMUEBLES empieza ---------------------------------------------- -->

<?php
       
  	//si viene del select ordenar, le pasamos el string para que ordene correctamente
     if ($ordenar=$_GET['ordenar_select'])
       {
         $link=conectarse();
         $consulta=mysql_query("SELECT*FROM inmuebles",$link);//1º consultamos el numero de registros totales
         $total_registros = mysql_num_rows($consulta);
         $order = mysql_escape_string( $ordenar );
         $consulta=mysql_query("SELECT*FROM inmuebles ORDER BY $order LIMIT $inicio, $registros",$link );
        } 
    
     else
        { 
         $link=conectarse();
         $consulta=mysql_query("SELECT*FROM inmuebles",$link);//1º consultamos el numero de registros totales
         $total_registros = mysql_num_rows($consulta);
         $consulta=mysql_query("SELECT*FROM inmuebles  ORDER BY id LIMIT $inicio, $registros",$link);         
        }
   
    /// Calculamos el número de páginas que hay
    $total_paginas = ceil($total_registros / $registros);
	
    ///3º MOSTRAMOS LOS RESULTADOS
    while($fila=mysql_fetch_array($consulta))
         {
		 $id = $fila["id"];
		 $tipo = $fila["tipo"];
		 $localidad = $fila["localidad"];
		 $zona = $fila["zona"];
		 $calle = $fila["calle"];
		 $numero_y_piso = $fila["numero_y_piso"];
		 $modo = $fila["modo"];
		 $precio = $fila["precio"];
		 $habitaciones = $fila["habitaciones"];
		 $baños = $fila["baños"];
		 $luz = $fila["luz"];
		 $telef_fijo = $fila["telef_fijo"];
         $calefaccion = $fila["calefaccion"];
		 $garaje = $fila["garaje"];
		 $metros = $fila["metros"];
		 $observaciones = $fila["observaciones"];
		 $foto_principal = $fila["foto_principal"];
		 $foto_2 = $fila["foto_2"];
         $foto_3 = $fila["foto_3"];
		 $foto_4 = $fila["foto_4"];
		 $propietario = $fila["propietario"];
		 $telefono = $fila["telefono"];
		 $aparece_portada = $fila["aparece_portada"];
		 $menu_movil = $fila["menu_movil"];

		 
   
 
         if ( $fila_color%2 == 0)
	        $color = "#FFFFFF";
	     else
	        $color = "#f7ffd9";
?>	  

    						   
	<div style="width:563px; overflow:hidden;">
		<table width="563px" cellpadding="0" cellspacing="0" border="0" bgcolor="<?=$color?>">
		    
			<tr>
			   	<td width="10%" height="21px"  class="listado_inmuebles" style="padding-left:7px;"><?=$id?></td>					
				<td width="8%" height="21px"  class="listado_inmuebles"><?=$tipo?></td>					
				<td width="12%" height="21px"  class="listado_inmuebles"><?=$localidad?></td>
				<td width="13%" height="21px"  class="listado_inmuebles"><?=$calle?></td>					
				<td width="10%" height="21px"  class="listado_inmuebles"><?=$modo?></td>					
				<td width="12%" height="21px"  class="listado_inmuebles"><?=$precio?>.000 &euro;</td>
				<td width="20%" height="21px"  class="listado_inmuebles"><?=$propietario?></td>
			    <td width="15%" height="21px"  class="listado_inmuebles"><a href="./index.php?menu=modificar_inmueble&&id=<?=$id?>" class="enlace4">editar</a> | <a href="#" class="enlace4" onClick="if (confirm('Seguro que desea eliminar el inmueble nº <?=$id?> ?')) window.location='./index.php?menu=categorias&&eliminar=<?=$id?>'">borrar</a></td>
			</tr>

		</table>
		 
	 </div>


<?php
     $fila_color++;
     }  // while
?>

<!-- -------------------------------------- LISTADO DE INMUEBLES acaba ---------------------------------------------- -->
						   
						</td>
					 </tr>
					 
					 <!-- Última fila, parte de abajo de la tabla -->
					 <tr>
			            <td width="567px" height="15px"><img src="img/tabla_abajo.jpg" width="567px" height="15px"></td>
			         </tr>
				  </table>
			   </td>
			</tr>
	     </table>
		  
	  </td>

	  <!-- Separación del cuerpo con el borde derecho de la página -->
	  <td width="12px" height="371px"><img src="img/pixel_transparente.gif"></td>

	<!-- Sombra del cuerpo -->
	  <td background="img/sombra_dcha.jpg" width="10px" height="371px" valign="top"></td>
   </tr>
   <tr><td colspan="5" style="text-align:center; padding-left:170px;">
    

<?

/// Enseña la paginación si hay más productos encontrados que la limitación que hicimos
if ($total_registros > $registros)
   {
   /// En primer lugar construimos el enlace de "anterior", que restará páginas, se pone de dos formas, con enlace si toca y si estamos en la pagina 1 como texto
   if(($pagina - 1) > 0)
      { ?>
      <a href="index.php?menu=categorias&pagina=<?=$pagina-1?>&<?=$ordenar?>" class="enlace_pagina" ><span style="padding-right:15px;">Anterior</span><img src="./img/flecha_izq.gif" width="13" height="10" border="0"></a>
   <? }

   else
      {  ?>
      <span class="sin_pagina"><span style="padding-right:15px;">anterior</span><img src="./img/flecha_izq_gris.gif" width="13" height="10" border="0"></span>
  <?  }
	     
   /// Ahora creamos un bucle para escribir la numeración de las páginas     
   for ($i=1; $i<=$total_paginas; $i++)
      {
      if ($i == $pagina)
         echo "<span class='enlace_numero'>&nbsp;&nbsp;<b>".$pagina."</b>&nbsp;&nbsp;</span>";
      else
         { ?>
         &nbsp;<a href="index.php?menu=categorias&pagina=<?=$i?>&<?=$ordenar?>" class="enlace_pagina">&nbsp;<?=$i?>&nbsp;</a>&nbsp;
      <? }
      }//for

   /// Ahora por último, contruimos el "siguiente" como enlace o como texto, depende ande estemos
   if( $pagina < $total_paginas )
      { ?> 
      <a href="index.php?menu=categorias&pagina=<?=$pagina+1?>&<?=$ordenar?>" class="enlace_pagina"><img src="./img/flecha_dcha.gif" width="13" height="10" border="0"><span style="padding-left:15px;">siguiente</span></a>
   <? }
         
   else
      { ?>
      <span class="sin_pagina"><img src="./img/flecha_dcha_gris.gif" width="13" height="10" border="0"><span style="padding-left:15px;">siguiente</span></span>
   <? }

   } /// Cierra el if de mostrar paginación

?>	
    </td>
      <td background="img/sombra_dcha.jpg" width="10">&nbsp;</td>
   </tr>
   
    <!-- Fila de separación del cuerpo con el pie -->
   <tr>
      <td width="12px" height="7px"><div><img src="img/pixel_transparente.gif"></div></td>
	  <td width="172px" height="7px"><div><img src="img/pixel_transparente.gif"></div></td>
	  <td width="7px" height="7px"><div><img src="img/pixel_transparente.gif"></div></td>
	  <td width="572px" height="7px"><div><img src="img/pixel_transparente.gif"></div></td>
	  <td width="12px" height="7px"><div><img src="img/pixel_transparente.gif"></div></td>
      <td width="10px" height="7px" background="img/sombra_dcha.jpg"></td>
   </tr>
  #11 (permalink)  
Antiguo 04/01/2008, 02:12
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

alguna idea?
  #12 (permalink)  
Antiguo 04/01/2008, 16:43
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Select + Paginación

Por favor que alguien me eche una mano que estoy desesperado!!!
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 15:57.