Foros del Web » Programando para Internet » PHP »

Busqueda personalizada

Estas en el tema de Busqueda personalizada en el foro de PHP en Foros del Web. hola estoy crenado un formualario para buscar en mi foro temas y buscar nombres de usuario aqui esta el codigo Código: <form id="buscar" name="buscar" method="post" ...
  #1 (permalink)  
Antiguo 25/09/2011, 19:13
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 13 años
Puntos: 11
Pregunta Busqueda personalizada

hola estoy crenado un formualario para buscar en mi foro temas y buscar nombres de usuario
aqui esta el codigo
Código:
 <form id="buscar" name="buscar" method="post" action="buscar.php">
      		Buscar temas: 
      		<label for="busca"></label>
      		<input name="busca" type="text" id="busca" size="50" />
    		<input name="" type="submit" value="Buscar" /><br>
            <input type="checkbox" name="buscar_usu" id="buscar_usu" value="on">
     		<label for="buscar_usu">Buscar Usuario</label>
            <input type="checkbox" name="buscar_tema" id="buscar_tema" value="on">
     		<label for="buscar_tema">Buscar Tema</label>
    </form>

     <br>
	<br>
	<?php
	$buscar_usu=$_POST['buscar_usu'];
	$buscar_tema=$_POST['buscar_tema'];
	$busca="";
	$busca=$_POST['busca'];
if($busca!=""){
	if($buscar_tema=="on" or $buscar_usu=="on"){
			if($buscar_usu=="on"){
				$busqueda=mysql_query("SELECT * FROM usuario WHERE usuario LIKE '%".$busca."%'",$link);
				while($f=mysql_fetch_array($busqueda)){
					echo 'usuario'.$f['usuario'];
					}
			}
			
			if($buscar_tema=="on"){
				$busqueda=mysql_query("SELECT * FROM temas WHERE tema LIKE '%".$busca."%'",$link);
				while($f=mysql_fetch_array($busqueda)){
					echo 'tema'.$f['tema'];
					}
			}
	}else{
		echo 'Debe seleccionar una casilla para poder realizar la busqueda';
		}
			
			
	}else{
	 echo 'Escriba algo en el campo de busqueda';	
	}
	?>
bueno mi problema es el siguiente aun que me falta arreglar un poco los resultados queria saber como hago para que si se realiza un busqueda y no se encuentra ningun resultado me diga no se han encontrado resultados con la palabra buscada
  #2 (permalink)  
Antiguo 25/09/2011, 19:30
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Busqueda personalizada

Pues es muy sencillo. Simplemente le das un condicional en el cual dices Si el arreglo de busqueda es vacio (mysql_fetch_array) imprima que no se ha encontrado resultados. No se si la duda es en escribir la sentencia o quieras hacer algo adicional.
  #3 (permalink)  
Antiguo 25/09/2011, 19:46
Avatar de xlos_mas_pro  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago
Mensajes: 359
Antigüedad: 13 años
Puntos: 11
Respuesta: Busqueda personalizada

lo sintesis por favor dime como seria
  #4 (permalink)  
Antiguo 26/09/2011, 00:04
 
Fecha de Ingreso: agosto-2011
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Busqueda personalizada

Yo lo haria con php
podiras por ejemplo hacer esto
Código PHP:
Ver original
  1. $resultados = 0;
  2. while($f=mysql_fetch_array($busqueda)){
  3.     echo 'tema'.$f['tema'];
  4.         $resultados++;
  5. }
  6. if ($resultados == 0){ echo "no hay resultados";}
  7.   else{ echo "se encontraron $resultados resultados";}

tambien podes usar mysql_num_rows($result);
esto te devuelve la cantidad de filas

Código PHP:
Ver original
  1. $resultados = mysql_query($tu_consulta);
  2. if (mysql_num_rows($resultados) != 0){
  3. ...
  4. }
  5. else{
  6. echo "no hay resultados";
  7. }



aunque lo podes hacer desde la sentencia sql no te lo recomiendo

saludos

Última edición por lopezezequiel; 26/09/2011 a las 00:11
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 11:20.