Foros del Web » Programando para Internet » PHP »

Validacion en una busqueda

Estas en el tema de Validacion en una busqueda en el foro de PHP en Foros del Web. Hola como decia el tema, queria una aydua en una validacion en buscaqueda en php, en sí la busqueda ya me salio, el problema tiene ...
  #1 (permalink)  
Antiguo 03/01/2012, 19:20
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Validacion en una busqueda

Hola como decia el tema, queria una aydua en una validacion en buscaqueda en php, en sí la busqueda ya me salio, el problema tiene q ver mas con validacion, lo que pasa que cuando no escribo nada en el caja de texto y clikeo en "buscar" me muestra todo los datos de la tabla, quisiera saber como haria para validar e impida hacer la busqueda estando vacio la caja de texto, diciendo por ejemplo "No se ha escrito algo para buscar".
espero sus respuestas y gracias.
Saludos
  #2 (permalink)  
Antiguo 03/01/2012, 21:21
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Validacion en una busqueda

if(isset ($_POST['txtBuscar']){
if ($_POST["txtBuscar"]==''){
//aqui pones como quieras indicar que la busqueda no ha insertado nada
}else{

//ejecuta la consulta de busqueda

}
  #3 (permalink)  
Antiguo 03/01/2012, 23:31
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: Validacion en una busqueda

estube probando el codigo que me pasaste en mi tarea q estoy haciendo, pero no me sale, me envia a una pagina en blanco, mira este este es el codigo implementado

/*
txtBuscar" : <input type="text" name="txtBuscar" , este es el valor que se recibe, yo lo cambie por GET, ya que en mi Form utlilizo el GET, creo q eso no hay problema.
*/
este es mi codigo:

<?php

if(isset($_GET["txtBuscar"])
{
if($_GET["txtBuscar"]=="'')
{
echo no hay nada;//aqui pones como quieras indicar que la busqueda no ha insertado nada
}
else{

//ejecuta la consulta de busqueda
$sql="select * from producto
where
prodnomb like '%".$_GET["s"]."%'
or
stokact like '%".$_GET["s"]."%'
or
precio like '%".$_GET["s"]."%'
";

}
}
$res=mysql_query($sql,$con);

?>

cuando pongo buscar, no me muestra nada, sale la pagina en blanco
  #4 (permalink)  
Antiguo 03/01/2012, 23:47
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Validacion en una busqueda

te falto un parentesis ) en la primera linea pero recibe los datos por post digo yo

conste admito que el error fue mio en digitacion

lo de post es solo una recomendacion
  #5 (permalink)  
Antiguo 04/01/2012, 00:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: Validacion en una busqueda

Igual sigue el problema, no se q es, cuando pongo buscar, me envia a la pagina resultado pero en Blanco, o sea nada.
estoy probando con 3 navegadores porseaca y nada.
en chrome me dice esto:
Error de HTTP 500 (Internal Server Error): Se ha detectado una condición inesperada cuando el servidor intentaba atender la solicitud.
  #6 (permalink)  
Antiguo 04/01/2012, 01:10
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Validacion en una busqueda

@bloguero, cuando decís
Cita:
"en sí la busqueda ya me salio"
, a que te referís, porque yo veo solo una consulta y su ejecución, pero ninguna otra condición, quizás abreviaste el código

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_GET['txtBuscar'])){
  4. $valor = trim($_GET['txtBuscar'])
  5. if($valor == ""){
  6. echo "error, debe ingresar un término de busqueda";
  7. // aunque esto yo lo haría con javascript en el form
  8. }else{
  9. // consulta mysql y análisis de los resultados para mostrar
  10. // una salida
  11. }
  12. }
  13. ?>
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 04/01/2012, 03:30
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: Validacion en una busqueda

Si lo abrevie un poco, pero mira aqui te muestro un poco mejor haber q opinas:

este de mi pagina principlal
mini.html

<form name="buscador" method="get" action="resultados.php">
<input type="text" name="s" onkeypress="return validar(event)" />
<a href="javascript:void(0)" title="Buscar" onClick="document.buscador.submit();">
<img src="ima/lupa.png" width="24" height="24" border="0">
</a>
</form>


y este es mi archivo resultados.php



<?php
require_once("conexion/conexion.php");


/*este primer select es con el fin de luego hacer una paginacion, solo quite la parte de html y php que muestra esto de la paginacion(esto iba al final)*/
$sql="select count(*) as cuantos from producto
where
prodnomb like '%".$_GET["s"]."%'
or
stokact like '%".$_GET["s"]."%'
or
precio like '%".$_GET["s"]."%'
";


$res=mysql_query($sql,$con);
if ($reg=mysql_fetch_array($res))
{
$total=$reg["cuantos"];
}
$resto=$total % 5;
$ultimo=$total-$resto;

//************************************************** **************
if (isset($_GET["pos"]))
{
$inicio=$_GET["pos"];
}
else

{
$inicio=0;
}

/*AQUI COMIENZA MI PROBLEMA, ESTO ES LO QUE AGREGUE, YA LO HE REVISADO Y NADA, CUANDO CLIKEO EN BUSCAR, ME MANDA A "RESULTADOS.PHP" PERO CON LA PAGINA VACIOA*/
if(isset($_GET["s"]))
{
if($_GET["s"]=='')
{
echo no hay nada;//aqui pones como quieras indicar que la busqueda no ha insertado nada
}
else{

//ejecuta la consulta de busqueda
$sql="select * from producto
where
prodnomb like '%".$_GET["s"]."%'
or
stokact like '%".$_GET["s"]."%'
or
precio like '%".$_GET["s"]."%'
";

}
}
$res=mysql_query($sql,$con);

?>

<html>
<head>
<title>Buscador</title>
<style type="text/css">
#principal{ width:800px; height:100%}
#header{ width:800px; height:100px; float:left; background-color:#666666; color:#FFFFFF}
#menu{ width:800px; height:25px; float:left}
.boton{ width:100px; height:25px; float:left; background-color:#FF0000; color:#FFFFFF}
.buscador{ width:300px; height:25px; float:left}
#main{ width:800px; height:100%; float:left}

</style>
</head>


<body>

<div id="principal">

<div id="menu">



<!--acá va el div menu-->
<div align="center" class="buscador">
<form name="buscador" method="get" action="resultados.php">
<input type="text" name="s">
<a href="javascript:void(0)" title="Buscar" onClick="document.buscador.submit();">
<img src="ima/lupa.png" width="24" height="24" border="0">
</a>
</form>
</div>
<!--acá va el div menu-->

</div>

<div align="center" id="main">
<table align="center" width="400">
<tr>
<td valign="top" align="center" width="400" colspan="3">
<h3>Resultados de su b&uacute;squeda</h3>
</td>
</tr>

<tr style="background-color:#666666; color:#FFFFFF; font-weight:bold">
<td valign="top" align="center" width="200">
Producto
</td>
<td valign="top" align="center" width="100">
Cantidad
</td>
<td valign="top" align="center" width="100">
Precio
</td>
</tr>
<?php
if (mysql_num_rows($res)==0)

{
?>
<tr>
<td valign="top" align="center" width="400" colspan="3" style="background-color:#f0f0f0">
No hay registros para ese criterio de b&uacute;squeda
</td>
</tr>
<?php
}else
{

$impresos=0;
while ($reg=mysql_fetch_array($res))
{
$impresos++;
?>
<tr style="background-color:#f0f0f0">
<td valign="top" align="center" width="200">
<?php echo chao_tilde(str_replace("".$_GET["s"]."","<b>".$_GET["s"]."</b>",$reg["prodnomb"]));?>
</td>
<td valign="top" align="center" width="100">
<?php echo chao_tilde(str_replace("".$_GET["s"]."","<b>".$_GET["s"]."</b>",$reg["stokact"]));?>
</td>
<td valign="top" align="center" width="100">
<?php echo chao_tilde(str_replace("".$_GET["s"]."","<b>".$_GET["s"]."</b>",$reg["precio"]));?>
</td>
</tr>
<?php
}
}
?>
<tr>
<td valign="top" align="center" width="500" colspan="3">
<hr>

</td>
</tr>

</table>
</div>

</div>

</body>
</html>



Ahi les paso mi codigo, espero su ayuda, gracias
  #8 (permalink)  
Antiguo 04/01/2012, 06:24
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Validacion en una busqueda

Por lo pronto en esta linea

echo no hay nada;//aqui pones como quieras indicar que la busqueda no ha insertado nada

deberias encerrar el texto entre comillas

echo "no hay nada";//aqui pones como quieras indicar que la busqueda no ha insertado nada

El resto, tendría que probarlo, pero si decis que en algun momento te funcionó, puede ser.
Yo tengo hechos un sistema de busqueda paginado pero uso otro código. Empezá por eso
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 07/01/2012, 14:24
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: Validacion en una busqueda

Cita:
Iniciado por emprear Ver Mensaje
Por lo pronto en esta linea

echo no hay nada;//aqui pones como quieras indicar que la busqueda no ha insertado nada

deberias encerrar el texto entre comillas

echo "no hay nada";//aqui pones como quieras indicar que la busqueda no ha insertado nada

El resto, tendría que probarlo, pero si decis que en algun momento te funcionó, puede ser.
Yo tengo hechos un sistema de busqueda paginado pero uso otro código. Empezá por eso
SAludos

Si tienes razon, era eso, lo de las comillas, pensé que alveces no era oblibatorio ponerle las comilas, cuando erana algunas palabras. listo!!!

Etiquetas: tabla, busquedas
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 18:52.