Foros del Web » Programando para Internet » PHP »

mensaje cuando recordset esta vacio

Estas en el tema de mensaje cuando recordset esta vacio en el foro de PHP en Foros del Web. de antemano muchas gracias, Estoy implementando un buscador simple en mi base de datos con el siguiente codigo... Código: <?php $editFormAction = $_SERVER['PHP_SELF']; include ("Connections/conectar.php"); ...
  #1 (permalink)  
Antiguo 24/09/2008, 13:51
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
mensaje cuando recordset esta vacio

de antemano muchas gracias,

Estoy implementando un buscador simple en mi base de datos con el siguiente codigo...

Código:
<?php
 $editFormAction = $_SERVER['PHP_SELF'];
 include ("Connections/conectar.php");
    if ($p_busca!='')
        { if (!$num) $num=0;
             $cadena_buscada=explode(" ",$p_busca);
             if (count($cadena_buscada)==1)
             {
			   mysql_select_db($database_conectar, $conectar);
               $query_sql=" SELECT SQL_CALC_FOUND_ROWS titulo, descripcion, lugar, ciudad
                        FROM reg_event WHERE (titulo LIKE '%".$p_busca."%') OR (descripcion LIKE '%".$p_busca."%') OR (Lugar LIKE '%".$p_busca."%') OR (descripcion LIKE '%".$p_busca."%')" ;
						$sql = mysql_query($query_sql, $conectar) or die(mysql_error());
						$row_sql = mysql_fetch_assoc($sql);
						$totalRows_sql = mysql_num_rows($sql);
             }
             elseif (count($cadena_buscada)>1)
             {
			   mysql_select_db($database_conectar, $conectar);
               $query_sql=" SELECT SQL_CALC_FOUND_ROWS titulo, descripcion 
			   FROM reg_event WHERE MATCH (titulo, descripcion, Lugar, ciudad) AGAINST ('".$p_busca."')";
						$sql = mysql_query($query_sql, $conectar) or die(mysql_error());
						$row_sql = mysql_fetch_assoc($sql);
						$totalRows_sql = mysql_num_rows($sql);
			}
			}			
?>
<!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=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<link href="imgs/imgs_prog/style_index.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="992" id="tb_body">
  <!--DWLayoutTable-->
  <tr>
    <td height="107" colspan="2" id="banner"><div align="center"><span class="Estilo1">Programese</span></div></td>
    <td width="1"></td>
  </tr>
  <tr>
    <td colspan="2" id="td_men_sup"><div id="tabs10"><!--cambiar div id="menu" para otro estilo-->
	<ul>
	<li><a href="index.php"><span>Inicio</span></a></li>
	<li><a href="usuario.php"><span>Usuario</span></a></li>
	<li><a href="usuario_pte.php"><span>Pautante</span></a></li>
	<li><a href="#"><span>Contactenos</span></a></li>
	<li><a href="quienes.php"><span>Quienes Somos</span></a></li>
	<li><a href="#"><span>Buscar</span></a></li>
	</ul>
    </div>	</td>
    <td></td>
  </tr>
  <tr>
    <td width="157" rowspan="2" id="td_izq">
    <div align="center" class="programese">
	PROGRAMESE</div>
	<div align="center">
      <p><a href="index.php">HOY</a></p>
      <p><a href="index2.php">CIUDAD</a></p>
      <p><a href="#">TIPO ENTRADA</a></p>
      <p><a href="index4.php">ACTIVIDAD</a></p>
      <p><a href="buscar.php">BUSQUEDA RAPIDA</a></p>
    </div>
    </td>
    <td width="820" rowspan="2" align="center" valign="top">
   <div> Por favor escriba la palabra o frase que desea buscar...
</div>
   <div>
<form id="form1" name="form1" method="post" action="<?php echo $editFormAction; ?>">
  <label>
  <input type="text" name="p_busca" id="p_busca" />
  </label>
  <label>
  <input type="submit" name="button" id="button" value="buscar" />
  </label>
</form>
</div>
<div align="left">
	<?php if ($totalRows_sql > 0) { ?>
	<?php do { ?>
	<?
	echo str_ireplace($p_busca, "<span style='background-color: #88AAEE'>$p_busca</span>", $row_sql['titulo']."<br>");
	echo str_ireplace($p_busca, "<span style='background-color: #88AAEE'>$p_busca</span>", $row_sql['descripcion']."<br><br>");
	?>
	<? } while($row_sql=mysql_fetch_assoc($sql));?>
    <?php } ?>
</div>
    </td>
    <td height="434"></td>
  <tr>
    <td height="595"></td>
  </table>
</body>
</html>
Lo que quiero es que cuando el usuario ingrese una palabra o frase que no este en la base de datos, salga un mensaje X que diga que no se encontró nada en la base de datos. Intente con

Código:
<?php if ($totalRows_sql == 0) {
echo "mensaje";
}
Pero este mensaje me sale desde el principio cuando el usuario entra a esta pagina.... si alguien me puede ayudar diciéndome donde colocarlo o cual seria el codigo para esto estare muy agradecido....

Muchas gracias
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #2 (permalink)  
Antiguo 24/09/2008, 14:00
Avatar de RastaMart  
Fecha de Ingreso: noviembre-2006
Mensajes: 91
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: mensaje cuando recordset esta vacio

mira me imagino que en donde pones
if ($p_busca!='')
es por que estas preguntando si la variable $p_busca es diferente a vacio.....
o sea que hay algo....

de lo contrario... se sale...
busca el cierre del IF y le pones..
}else
{
MENSAJE DE ERROR...
}


Saludos... espero haberte ayudado
  #3 (permalink)  
Antiguo 25/09/2008, 09:53
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: mensaje cuando recordset esta vacio

Excelente me sirvio de mucho.... coloco el codigo para la gente que tenga el mismo problema que tengo yo....

Código:
<?php
 //Conectar con la base de datos,
 //también podemos poner el ADODB
 //Yo utilizo conexiones con código directamente aquí
 $editFormAction = $_SERVER['PHP_SELF'];
 include ("Connections/conectar.php");
    if ($p_busca!='')
        { if (!$num) $num=0;
             //Separamos las palabras usando cada espacio como separador
             //Hacemos la separación de la cadena a buscar
             $cadena_buscada=explode(" ",$p_busca);
             if (count($cadena_buscada)==1)
             {
               //Si solo hay una palabra usamos LIKE
			   mysql_select_db($database_conectar, $conectar);
               $query_sql=" SELECT SQL_CALC_FOUND_ROWS titulo, descripcion, lugar, ciudad, id
                        FROM reg_event WHERE (titulo LIKE '%".$p_busca."%') OR (descripcion LIKE '%".$p_busca."%') OR (Lugar LIKE '%".$p_busca."%') OR (ciudad LIKE '%".$p_busca."%')" ;
						$sql = mysql_query($query_sql, $conectar) or die(mysql_error());
						$row_sql = mysql_fetch_assoc($sql);
						$totalRows_sql = mysql_num_rows($sql);
             }
             elseif (count($cadena_buscada)>1)
             {
               //Si hay más de una palabra usaremos MATCH AGAINST
			   mysql_select_db($database_conectar, $conectar);
               $query_sql=" SELECT SQL_CALC_FOUND_ROWS titulo, descripcion 
			   FROM reg_event WHERE MATCH (titulo, descripcion, Lugar, ciudad) AGAINST ('".	
			   $p_busca."')";
						$sql = mysql_query($query_sql, $conectar) or die(mysql_error());
						$row_sql = mysql_fetch_assoc($sql);
						$totalRows_sql = mysql_num_rows($sql);
			}
			if ($totalRows_sql == 0) {
				
				echo "<div class='mensaje'><p>"."Lo sentimos no se encontraron resultados con "."<strong>".$p_busca."</strong>"."</p></div>";

			}	
			}			
?>
Muchas gracias por tu ayuda...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
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 13:13.