Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Rijhording en 29 Junio 2010, 10:00 AM

Título: Ayuda con mi busqueda
Publicado por: Rijhording en 29 Junio 2010, 10:00 AM
hola compañeros de este foros estoy realizando una busqueda con php dentro de mi misma pagina y resulta que no me busca nada no se que estoy haciendo mal este es mi codigo
TABLA cliente
(
id autoincremet,
apepat varchar(80),
apemat varchar(80),
nombre varchar(80),
fecha date,
dni varchar(8),
direccion varchar(80),
telefono varchar(8),
email varchar(80)
)

id=pk

Código (php) [Seleccionar]

<?php
include("conexion.php");

if(
$_REQUEST["btnBuscar"]!="" && $_REQUEST["busqueda"]!="")
{

if(is_numeric($_REQUEST["busqueda"]))
$filtro="id="$_REQUEST["busqueda"];
else
$filtro=" apepat like '%".$_REQUEST["busqueda"]."%' or apemat like '%".$_REQUEST["busqueda"]."%' or nombre like '%".        $_REQUEST["busqueda"]."%'";
$mensaje=$filtro;

}else
{
 
$mensaje="<font color='red'>Escriba Algo</font>";
}
$rst_clientes=mysql_query("select * from cliente",$conexion);//ME PARECE QUE ACA DEBO DE PONER UN WHERE PERO NO SE COMO LO DEBO DE PONER PORQUE LO ESTOY FILTRANDO CON EL FILTRO

$num_registros=mysql_num_rows($rst_clientes);
if(
$num_registros==0)
{
echo 
"No se han encontrado ningun registro aun";
exit();
}
$registros=5;
$pagina=$_GET["num"];
if(
is_numeric($pagina))
$inicio=(($pagina-1)*$registros);
else
$inicio=0;
$rst_clientes=mysql_query("select * from cliente order by apepat LIMIT $inicio,$registros",$conexion);//ACA TAMBIEN DEBO DE PONER EL FILTRO QUE E PUESTO ARRIBA PERO NO SE COMO 
$paginas=ceil($num_registros/$registros);


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>::Listar Clientes</title>
<?php
include('links.php');
 
?>




<link type="text/css" href="datepicker/jquery.ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="datepicker/jquery-1.4.2.js"></script>
<script type="text/javascript" src="datepicker/jquery.ui.core.js"></script>
<script type="text/javascript" src="datepicker/jquery.ui.widget.js"></script>
<script type="text/javascript" src="datepicker/jquery.ui.datepicker.js"></script>
<link type="text/css" href="demos.css" rel="stylesheet" />



<script type="text/javascript">
$(function() {
$("#datepicker").datepicker();
$("#format").change(function(){ $('#datepicker').datepicker('option', {dateFormat: $(this).val()}); });

});
</script>
</head>
<body>
<table width="837" border="0" align="center" id="bgprincipal">
  <tr valign="middle" align="center">
    <td colspan="2"><img src="imagenes/banner.png" width="781" height="123" /></td>
  </tr>
  <tr>
    <?php
    echo 
"<td colspan=2 align=\"right\" valign=\"middle\">Bienvenido ";
echo  $usuario." | <a href=\"cerrarsesion.php\">Cerrar Sesión</a></td>";
?>

  </tr>
  <tr>
    <td width="139" height="24"><a href="clientes.php">REGISTRAR</a>-LISTAR</td>
    <td width="688">&nbsp;</td>
  </tr>
  <tr valign="top">
    <td height="150" align="center">
<?php 
include(
'menu.php');


?>





</td>
    <td align="left" valign="top">
<table width="650" height="10" align="center">
<tr>
<td><div align="right"><a href="clientenuevo.php"><input type="image" src="imagenes/icontexto-user-web20-netvibes.png" title="agregar cliente"/></a></div></td>
</tr>
<tr>
  <td><form id="form1" name="form1" method="get" action="listarclientes.php">
    Buscar
    <input name="busqueda" type="text" id="busqueda" value="<?php echo $_GET["busqueda"];?>" />
        <input  type="image" src="imagenes/magnifier.png"name="btnBuscar" id="btnBuscar" value="Buscar" />

<?php 
  echo 
$mensaje;
  
  ?>

  </form>

  </td>
  </tr>
</table>


<table width="650" height="52" border="1" align="center">
  <tr>
<td width="128" bgcolor="#0066FF"><div align="center">Cliente</div></td>
    <td width="58" bgcolor="#0066FF"><div align="center">Fecha</div></td>
    <td width="54" bgcolor="#0066FF"><div align="center">DNI</div></td>
    <td width="83" bgcolor="#0066FF"><div align="center">Direccion</div></td>
    <td width="81" bgcolor="#0066FF"><div align="center">Telefono</div></td>
    <td width="62" bgcolor="#0066FF"><div align="center">Email</div></td>
    <td width="67" bgcolor="#0066FF"><div align="center">Modificar</div></td>
    <td width="58" bgcolor="#0066FF"><div align="center">Eliminar</div></td>
  </tr>
  <?php
while($fila=mysql_fetch_array($rst_clientes))
{
?>

<tr>
<td><?php echo $fila["apepat"]." ".$fila["apemat"]." ".$fila["nombre"] ;?></td>
<td><?php echo $fila["fecha"] ;?></td>
<td><?php echo $fila["dni"] ;?></td>
<td><?php echo $fila["direccion"] ;?></td>
<td><?php echo $fila["telefono"] ;?></td>
<td><?php echo $fila["email"] ;?></td>
<td align="center"><a href="modificarclientes.php?cod=<?php echo $fila["id"] ;?>"><input type="image" src="imagenes/page_white_edit.png"></a>
<td align="center"><a href="confirmarEliminacion.php?cod=<?php echo $fila["id"] ;?>">
<input type="image"  src="imagenes/cancel.png"></a></tr>
<?php
}

?>

</table>
<p align="center">
<?php
if($pagina>1)
echo 
"<a href='listarclientes.php?num=".($pagina-1) ."'>Anterior</a> ";
  for(
$cont=1;$cont<=$paginas;$cont++)
  {
  if(
$cont==$pagina)
  echo 
$cont ." ";
  else
  
echo "<a href='listarclientes.php?num="$cont ."'>$cont</a> ";
}
if(
$pagina<$paginas)
echo 
"<a href='listarclientes.php?num=".($pagina+1) ."'>Siguiente</a> ";


  
?>

</p>


    </td>
  </tr>
 
</table>





</body>
</html>








Título: Re: Ayuda con mi busqueda
Publicado por: Falso Positivo en 29 Junio 2010, 12:00 PM
Hola,

El problema está en las primeras líneas

Código (php) [Seleccionar]

if($_REQUEST["btnBuscar"]!="" && $_REQUEST["busqueda"]!="")
{

if(is_numeric($_REQUEST["busqueda"]))
$filtro="id=". $_REQUEST["busqueda"];
else
$filtro=" apepat like '%".$_REQUEST["busqueda"]."%' or apemat like '%".$_REQUEST["busqueda"]."%' or nombre like '%".        $_REQUEST["busqueda"]."%'";
$mensaje=$filtro;

}else
{
$mensaje="<font color='red'>Escriba Algo</font>";
}


Ya que en la variable "$filtro" al parecer armas la consulta para la búsqueda pero en ningún lado la ejecutas ni muestras.

Y luego, ésto es independiente del punto anterior: el funcionamiento de la variable "$mensaje" no me cierra.... o muestra "Escriba Algo" o el contenido de la variable "$filtro" el cual no tiene sentido ya que el echo de "$mensaje" es un texto a mostrar al usuario (auí estaría bien el mostrar"Esriba Algo") pero no así el mostrar lo que toma de $filtro, salvo que te falte una condición para mostrar $mensaje y así meterlo dentro de un tag a.

Saludos.
Título: Re: Ayuda con mi busqueda
Publicado por: Rijhording en 29 Junio 2010, 16:10 PM
hola man todo funciona pero no me hace la busqueda en el filtro es para filtrar nada mas lo que quiero esque me haga la busqueda lo contengo en $filtro para hacer la llamada pero noc como lo llamo en select * from cliente where aca debe de estar el $filtro pero noc como lo pongo si supiera como ponerlo ya me estaria haciendo la busqueda correspondiente