Comunidad de diseño web y desarrollo en internet online

Buscador php

Citar            
MensajeEscrito el 10 Dic 2009 04:11 pm
hola:
Tengo un buscador que es asi:
Buscador.htm, con 3 campos:
dato_1, dato_2 y dato_3 que busca nombre, empresa y direccion,
lo que necesito saber es como hacer para que en
dato_1, se puedan buscar tambien dato_2 y dato_3




busqueda.php tengo este codigo:
----------------------------------------------
<?
include("../includes/conexion.php");
$pathImagenesNotas = "../imagenes";

$dato_1 = $_REQUEST["dato_1"];
$dato_2 = $_REQUEST["dato_2"];
$dato_3 = $_REQUEST["dato_3"];

if ($dato_1 == "" && $dato_2 == "" && $dato_3 == "")
{
$dato_1 = "22222222222222222333333333333";
}


?>

------------------------------------------------------------------

<?


//if($seccion == 0)
$query = "SELECT * FROM catalogo WHERE (dato_1 like '%".$dato_1."%' AND dato_2 like '%".$dato_2."%' AND dato_3 like '%".$dato_3."%') AND estado = 1 ORDER BY 1";
// $query = "SELECT * FROM catalogo WHERE dato_1 like '%".$dato_1."%' AND estado = 1 ORDER BY 1";
//else
//$query = "SELECT * FROM noticias WHERE IDSeccion = '".$seccion."' AND Habilitado = 1 ORDER BY OrdenHome ";


$res = mysql_query($query);
$total_registros = mysql_num_rows($res);

if($total_registros > 0)
{


//$res = mysql_query($query);
//$tamañoLetra=22;
for($i=0;$i<@mysql_num_rows($res);$i++)
{
//$cuando = "hoy por la ma&ntilde;ana";
$IDCatalogo = mysql_result($res,$i,"IDCatalogo");
$dato_1 = mysql_result($res,$i,"dato_1");
$dato_2 = mysql_result($res,$i,"dato_2");
$dato_3 = mysql_result($res,$i,"dato_3");
$dato_5 = mysql_result($res,$i,"dato_5");
$dato_6 = mysql_result($res,$i,"dato_6");
$dato_7 = mysql_result($res,$i,"dato_7");

$imagen = mysql_result($res,$i,"imagen");


?>

Por llamarada

8 de clabLevel



 

msie8
Citar            
MensajeEscrito el 10 Dic 2009 09:44 pm

Código PHP :

$query = "SELECT * FROM catalogo WHERE ";
$where = "";
if (isset($_REQUEST["dato_1"])) { $where = "dato_1 like '%".$dato_1."%'"; }
if (isset($_REQUEST["dato_2"])) { 
  if (!empty($where)) { $where .= " AND "; }
$where .= "dato_2 like '%".$dato_2."%'"; 
}
if (isset($_REQUEST["dato_3"])) { 
  if (!empty($where)) { $where .= " AND "; }
$where .= "dato_3 like '%".$dato_3."%'"; 
}
if (!empty($where)) { 
  $query .= " (".$where.") AND ";
 }
$query .= " estado = 1 ORDER BY 1";
echo $query;

Consejo: no uses $_REQUEST, usa $_GET o $_POST según sea el caso.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 10 Dic 2009 10:25 pm
haciendo la busqueda me tira asi: al buscar "chau"

SELECT * FROM catalogo WHERE (dato_1 like '%chau%' AND dato_2 like '%%' AND dato_3 like '%%') AND estado = 1 ORDER BY 1

Por llamarada

8 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.