Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/06/2003, 21:21
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues si es posíble ..

tan sólo debes contar el número de registros que te ha arrojado tu mysql_query() y si es mayor de 0 .. muestras tus datos .. si es = 0 .. pues no hay resultados ..

Código PHP:
// conectas a tu BD .. seleccionas la BD .. etc ..
$consulta=mysql_query($sql) or die (mysql_error());
if (
mysql_num_rows($consulta) > 0){  // el secreto .. xDD ...
   
while ($registro=mysql_fetch_assoc($consulta)){
     
// bla bla .. presentas tus datos de tu consulta ...
   
}

} else {
   echo 
"no hay resultados ...";

Más optimizado sería hacer una consulta SQL típo:

Código PHP:
$sql_total="SELECT COUNT(*) as total FROM tabla (condiciones si las necesitas ...)";

$consulta_total=mysql_query($sql_total) or die (mysql_error());
if (
mysql_result($consulta,"total",0) > 0){
  
$consulta_datos=mysql_query($sql);
   while (
$registro=mysql_fetch_assoc($consulta_datos){
         
// obtienes tus registros/campos de tu consulta habitual ...     
   
}
} else {
   echo 
"no hay resultados ";

donde $sql es tu consulta que actualmente uses ...

La primera opción usa una sóla consulta (mysql_query() ..) si hay pocos registros que arroje esa consulta y mas o menos siempre va a arrojar + de 1 registro como resultado .. puede ser que sea mas optima la primera opción ..

La segunda opción usa dos consultas .. pero la primera (para ver el total de registros de la consulta) sólo usa un único registro y la "cuenta" la hace Mysql y nó PHP (con lo cual es más rápido) .. Luego hay que hacer la consulta en sí para obtener los registros .. pero para ese momento ya se va hacer una consulta que arroje +1 registro (osease, se va a la segura ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.