Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2013, 09:15
claudinho
 
Fecha de Ingreso: febrero-2013
Ubicación: Margarita
Mensajes: 72
Antigüedad: 11 años, 10 meses
Puntos: 0
Busqueda y paginacion de resultados en php y mysql

Hola amigos del foro! podrian ayudarme con lo siguiente:

Tengo una pagina de busqueda en la base de datos cuyo codigo es:

Código HTML:
<form name="form1" method="post" action="resultados2.php">
          <td><select name="tipoi" id="tipoi">
            <option selected>Apartamento</option>
            <option>Casa / Townhouse</option>
          </select></td>
          
          <td><select name="operacion" id="operacion">
            <option selected>Venta</option>
            <option>Alquiler</option>
                              </select></td>
        
          <td><input name="Buscar" type="submit" id="Buscar" value="Buscar Inmueble"></td>
        
      </table>
	
	</form>
	
	
	<?php 
if (!empty($_GET['status']) && ($_GET['status'] == 'error')) {
echo "<h3>No se encontraron resultados para esta busqueda!!</h3>";
}

	
	?> 

Es un box que simplemente recoje los resultados de las variables "tipo" y "operacion" y llama a resultados2.php donde se hace la paginacion que seria asi:


Código PHP:

<?php 
$dbhost 
"localhost";
$dbusername "camienec_claudio";
$dbuserpass "san24irineu";
$dbname "xxxxxxxxxx";

    
$buscar $_POST['Buscar'];
    
$tipo $_POST['tipoi'];
    
$op $_POST['operacion'];

$pagi $_GET['pagi']; 

$contar_pagi = (strlen($pagi));    // Contamos el numero de caracteres 

// Numero de registros por pagina 

$numer_reg 5
    
    
    
 
$conexion mysql_connect($dbhost,$dbusername,$dbuserpass) or die ("Error: Problema al conectar con el Host"); 
        
$db mysql_select_db($dbname,$conexion) or die ("Error: Problema al conectar con la Base de datos");     
        
    
$query0 mysql_query("SELECT * FROM inmuebles WHERE tipo='$tipo' AND operacion='$op' ") or die ("Error en query");

    
$numero_registros0 mysql_num_rows($query0);


// ----------------------------- Pagina anterior 
$prim_reg_an $numer_reg $pagi
$prim_reg_ant abs($prim_reg_an);        // Tomamos el valor absoluto 
if ($pagi <> 0)  
{  
$pag_anterior "<a href='resultados2.php?pagi=$prim_reg_ant'>Pagina anterior</a>"

// ----------------------------- Pagina siguiente 
$prim_reg_sigu $numer_reg $pagi

if (
$pagi $numero_registros0 - ($numer_reg 1))  
{  
$pag_siguiente "<a href='resultados2.php?pagi=$prim_reg_sigu'>Pagina siguiente</a>"

// ----------------------------- Separador 
if ($pagi <> and $pagi $numero_registros0 - ($numer_reg 1))  
{  
$separador "|"

// Creamos la barra de navegacion 

$pagi_navegacion "$pag_anterior $separador $pag_siguiente"

// ----------------------------- 

    
    
if ($contar_pagi 0)  
{  
// Si recibimos un valor por la variable $page ejecutamos esta consulta 

    
$query2 "SELECT * FROM inmuebles  LIMIT $pagi,$numer_reg"
}  
else  
{  
// Si NO recibimos un valor por la variable $page ejecutamos esta consulta 

    
$query2 "SELECT * FROM inmuebles  LIMIT 0,$numer_reg"
}  

    
$result mysql_query($query2);
    
$numero_registros mysql_num_rows($result);  
    
    
    print 
'<table width="470" border="0" cellspacing="0" cellpadding="0" >';
    
    while(
$datos mysql_fetch_array($result))

    {

$id_inmueble $datos['id_inmueble'];
$query3 mysql_query("SELECT * FROM fotos2 INNER JOIN inmuebles_fotos ON fotos2.id_foto = inmuebles_fotos.id_foto WHERE inmuebles_fotos.id_inmueble=$id_inmueble") or die ("Error en query3");
$datos3 mysql_fetch_array($query3);
$image_path $datos3['path']; 

      print 
'<tr>
    <td width="236" rowspan="7"><div align="center" ><a href="Prueba2.php?id='
.$datos['id_inmueble'].'"><img src="http://www.forosdelweb.com/f18/'.$image_path.'" width="200" height="120" alt=""></a></div></td>
    <td width="18" rowspan="8"><div align="center"></div></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><div align="left">'
.$datos['tipo'].' en '.$datos['operacion'].'</div></td>
  </tr>
  <tr>
    <td><div align="left">'
.$datos['ubicacion'].'</div></td>
  </tr>
  <tr>
    <td width="434"><div align="left">'
.$datos['mts2'].' mts2</div></td>
  </tr>
  <tr>
    <td><div align="left" class="Estilo1"> BsF '
.$datos['precio'].'</div></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="236">&nbsp;</td>
    <td><div align="right"></div></td>
  </tr>'
;    

    }
mysql_close($conexion);      
print 
'</table>';
print 
'Registros: '.$numero_registros.' de un total de '.$numero_registros0.'';
print 
'</div>';
print 
'<br>';    
print 
'<p align="center">'.$pagi_navegacion.'</p>'
print 
'<br>';    



    
    
?>
El codigo se ejecuta bien excepto por el criterio de busqueda condicionado por variables que recojo en la pagina busqueda. Pero como resultados2 se llama asi mismo cuando vuelve a hacer el $_post['tipo'] y el $_post['op'] no encuentra nada en la consulta query0.

Alguna ayuda por favor