Foros del Web » Programando para Internet » PHP »

buscador php

Estas en el tema de buscador php en el foro de PHP en Foros del Web. hola amigos tengo un buscador en una web modular que funciona a la perfeccion, pero ahora quiero hacer la sentencia sql dinamica de acuerdo a ...
  #1 (permalink)  
Antiguo 27/07/2011, 08:22
 
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 1
buscador php

hola amigos tengo un buscador en una web modular que funciona a la perfeccion, pero ahora quiero hacer la sentencia sql dinamica de acuerdo a lo que elija el usuario

por ejemplo el lik para la seccion lo paso asi:

Código PHP:
<li><a href="?pag=resultado">Casas</a></li
y el codigo del paginador es este:
Código PHP:
<?php
require('/modulos/includes/conexion.php');
 
$RegistrosAMostrar=3;
 
 
//tomo el valor de la pagina GET
 
if(isset($_GET['pagina'])){
  
$RegistrosAEmpezar=($_GET['pagina']-1)*$RegistrosAMostrar;
  
$PagAct=$_GET['pagina'];
  
//caso contrario los iniciamos
 
}else{
  
$RegistrosAEmpezar=0;
  
$PagAct=1;
 }
 
//verifico que opcion determino para poder generar la consulta
 
 
$sql="select id,Titulo,descripcion,fotoprincipal from propiedades ";
 
$sql.=" LIMIT $RegistrosAEmpezar, $RegistrosAMostrar";
 
$Resultado=mysql_query($sql,$conexion);
 
//echo "<table border='1px'>";
 
echo "<table class='estilotabla'>";
 while(
$MostrarFila=mysql_fetch_array($Resultado)){
  echo 
"<tr>";
  echo 
"<td colspan='2' class='estilocelda'>".$MostrarFila['Titulo']."</td>";
  echo 
"</tr>";
  echo 
"<tr>";
  
//<"<a href='index.php?pag=resultado&pagina=" .($PagAct-1)."'><< Anterior</a> ";
  //<a href="?pag=resultado">
  //<a href="detalle.php?id_producto=$id_producto">
  //<a href='index.php?id=ver&id=".$reg['s_id']."'
    
echo ("<td class='estilo_imagen'><a href='index.php?pag=detalle&iddetalle=".$MostrarFila['id']."'><img src=\"imagenes/" $MostrarFila['fotoprincipal'] . "\"  width='120' height='90' border='1' align='left'/></a></td>\n");
    
    echo 
"<td class='estilo_descripcion'>".$MostrarFila['descripcion']."<p class='estilo_descripcion'><a href='index.php?pag=detalle&iddetalle=".$MostrarFila['id']."'>Ver Detalle >></a></p></td>";
  
//echo "<td class='estilo_descripcion'>".$MostrarFila['descripcion']."</td>"; 
  
echo "</tr>";
 }
 echo 
"</table>";

 
//******--------determinar las páginas---------******//
 
$NroRegistros=mysql_num_rows(mysql_query("select * from Propiedades",$conexion));
 
$PagUlt=$NroRegistros/$RegistrosAMostrar;

 
//verificamos residuo para ver si llevará decimales
 
$Res=$NroRegistros%$RegistrosAMostrar;
 
// si hay residuo usamos funcion floor para que me
 // devuelva la parte entera, SIN REDONDEAR, y le sumamos
 // una unidad para obtener la ultima pagina
 
if($Res>0$PagUlt=floor($PagUlt)+1;
 echo 
"<div id='paginacion'>";
 
 echo 
"<strong>Pagina de Resultados: </strong>";
 if (
$PagAct>1){
     
$PagAct-1;
     echo 
"<a href='index.php?pag=resultado&pagina=" .($PagAct-1)."'><< Anterior</a> ";
 }
 
 for(
$contador=1;$contador<=$PagUlt;$contador++){
     if(
$contador==$PagAct){
         echo 
$contador" ";
     }
     else{
     echo 
"<a href='index.php?pag=resultado&pagina=".$contador."'>$contador</a> ";
     }
 }
 if (
$PagAct<$Res){
     
$PagAct-1;
     echo 
"<a href='index.php?pag=resultado&pagina=" .($PagAct+1)."'>Siguiente>></a> ";
 }
 echo
"</div>";
 echo 
$sql;
 echo
"<br> ";
 echo 
$NroRegistros;
?>
que tengo que hacer para que la sentencia sql sea dinamica por ejemplo:
si el uauario selecciona la opcion de casas
Código PHP:
<li><a href="?pag=resultado">Casas</a></li
la sentencia sea:
Código PHP:
 $sql="select id,Titulo,descripcion,fotoprincipal from propiedades ";
 
$sql.="where tipoinmueble=" .$criterio;//1
 
$sql.=" LIMIT $RegistrosAEmpezar, $RegistrosAMostrar"
y si seleccionar
Código PHP:
<li><a href="?pag=resultado">departamentos</a></li
la sentencia sea
Código PHP:
$sql="select id,Titulo,descripcion,fotoprincipal from propiedades ";
 
$sql.="where tipoinmueble=" .$criterio;//2
 
$sql.=" LIMIT $RegistrosAEmpezar, $RegistrosAMostrar"
ya probe de la siguiente manera :
Código PHP:
 //tomo el valor para verificar que opcion eligio el usuario
 
$criterio= isset($_GET['criterio'])? $_GET['criterio']:''
pero no funciona ademas de que la paginacion me deja de funcionar.

tambien si selecciono el criterio 1 me muestras 3 registros cuando en la base tengo 7
alguna sugerencia y de antemano muchas gracias amigos

Última edición por microbiano; 27/07/2011 a las 08:24 Razón: modificacion
  #2 (permalink)  
Antiguo 27/07/2011, 08:41
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años
Puntos: 75
Respuesta: buscador php

A ver... tenes que poner cuidado con tus variables:
mandas: <li><a href="?pag=resultado">departamentos</a></li>
y recibes:
$PagAct=$_GET['pagina'];
y buscas:
$sql.="where tipoinmueble=" .$criterio;

ves?

estás enviando una variable via URL (GET) llamada pag, cuyo valor es 'resultado' que me imagino realmente es reemplazado por un 1 o un valor numérico.

Luego recibes en una variable $PagAct una variable URL (GET) llamada pagina, sabiendo que se llama pag, luego buscas con el SQL con una condición tipoinmueble = $criterio, sabiendo que no se llama criterio sino $PagAct, vio?

o por lo menos eso es lo que yo entiendo.

Cita:
tambien si selecciono el criterio 1 me muestras 3 registros cuando en la base tengo 7
alguna sugerencia y de antemano muchas gracias amigos
No has pensado que estás haciendo un LIMIT N,3?
siendo N el inicio según el paginador y 3 definido en una variable:
$RegistrosAMostrar=3;
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 29/07/2011, 07:42
 
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 23
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: buscador php

jejej hola amigo como stas gracias por contestar mira la web es modular entonces cuando hago esto
Código PHP:
<li><a href="?pag=resultado">Casas</a></li
realmente solo estoy direccionando a la pagina de resultados.

ahora bien me gustaria que ese link cambiar a algo asi quiero creer:
Código PHP:
<li><a href="?pag=resultado&criterio=1">Casas</a></li
sabiendo que casas es el criterio 1

y por ejemplo que para departamentos quede

Código PHP:
[PHP]<li><a href="?pag=resultado&criterio=2">departamentos</a></li
sabiendo que casas es el criterio 1[/PHP]

esto sin que me deje de funcionar la paginacion: entonces si mi logica no me equivoca tendria que quedar algo asi el link en el navegador cuando sea la primeroa consulta
Código:
http://localhost/index.php?pag=resultado
y ya cuando se haga la paginacion quedaria
Código:
http://localhost/index.php?pag=resultado&pagina=2&criterio=1
en el caso de casas.

es correcto entender esto?, pero ahora como logro que funcione no lo puedo hacer funcionar .


de antemano muchas gracias por la respuesta

Etiquetas: imagenes, registro, sql, tabla, buscadores, usuarios
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 21:20.