Foros del Web » Programando para Internet » PHP »

Problema con if, no me funciona el else y no se porque...

Estas en el tema de Problema con if, no me funciona el else y no se porque... en el foro de PHP en Foros del Web. hola Tengo un if con su respectivo else, pero el else nunca me funciona, no se que pasa..... aqui está el codigo if (0<=mysql_num_rows($result2)) { ...
  #1 (permalink)  
Antiguo 23/10/2003, 16:37
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 20 años, 7 meses
Puntos: 0
Problema con if, no me funciona el else y no se porque...

hola

Tengo un if con su respectivo else, pero el else nunca me funciona, no se que pasa..... aqui está el codigo

if (0<=mysql_num_rows($result2))
{

?>
<div align="center">Requerimientos solicitados hasta la fecha por <? echo "$campo[0]" ?></div>
<br>
<table border="1" align="center">
<tr>
<td><center>REQUERIMIENTO</center></td>
<td><center>CLIENTE</center></td>
<td><center>DIA</center></td>
<td><center>MES</center></td>
<td><center>AÑO</center></td>
<td><center>HORA</center></td>
<td><center>CONSECUTIVO</center></td>
<td><center>APLICACION</center></td>
<td><center>PROBLEMA PRESENTADO</center></td>
<td><center>ESTADO</center></td>
<td><center>SOLICITADO</center></td>
<td><center>RESPONDIDO</center></td>

</tr>
<?php
while ($row=mysql_fetch_array($result2))
{

?>
<tr>

<td><center><? echo $row["requerimiento"] ?></center></td>
<td><center><? echo $row["cliente"] ?></center></td>
<td><center><? echo $row["dia"] ?></center></td>
<td><center><? echo $row["mes"] ?></center></td>
<td width="200" align="center"><? echo $row["año"] ?></td>
<td><center><? echo $row["hora"] ?></center></td>
<td><center><? echo $row["consecutivo"] ?></center></td>
<td><center><? echo $row["programa"] ?></center></td>
<td><center><? echo $row["motivo"] ?></center></td>
<td><center><? echo $row["estado"] ?></center></td>
<td><center><? echo $row["solicitado"] ?></center></td>
<td><center><? echo $row["respondido"] ?></center></td>


</tr>
<?php
}
?>
</table>

<?
}
else
{
echo "No se ha encontrado ningún registro de reporte";
}
?>

Aunque la condicion sea falsa nunca me saca el mensaje del else y siempre me muestra la condicion verdadera.

Gracias por la ayuda
__________________
J-.-`.::
  #2 (permalink)  
Antiguo 23/10/2003, 17:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 6 meses
Puntos: 0
Por que le estas diciendo "si '0' es menor o igual que 'mysql_num_rows($result2)'".
Entonces fijate bien en tu condicion, "si '0' es menor o igual que 'mysql_num_rows($result2)'", siempre mostrara como si hubiesen resultados, ya que si no los hay sería igual a '0' entonces tu le dijiste que lo muestre, y tu 'else' nunca se mostrará por que si no hay ningún registro entonces hay '0' registros y tu condicion dice que si es igual tambien muestre el listado de tu base de datos.

De modo te condición quedaría mejor así:
Código PHP:
if (mysql_num_rows($result2) != "0")

Ya que aquí le decimos que si 'mysql_num_rows($result2)' es distinto que cero, es decir que tengamos, 1, 2, 3, 4, etc lo muestre, o sea, que si hay registros. De otro modo('else'), si es '0' es por que que no hay registros y mostramos el mensaje.

ó tambien así:
Código PHP:
if (mysql_num_rows($result2) > "0")

'mysql_num_rows($result2)' mayor que '0' osea, 1, 2, 3, 4, etc... si no mostramos 'else'.


amhyd

Última edición por amhyd; 23/10/2003 a las 17:47
  #3 (permalink)  
Antiguo 23/10/2003, 20:22
 
Fecha de Ingreso: agosto-2003
Mensajes: 272
Antigüedad: 20 años, 7 meses
Puntos: 0
Haber proba con esto:

Lo que veo que no se si esta bien o no, pero por que no probas en unificar ese codigo dentro de una unica etiqueta <?,......,?> osea entra una sola vez al modo php.
Lo que vi es que entras con el if en php, luego salis a html, para luego separar el else del if de sus respectivas sentencias php.
Yo no se si a nivel de compilador como funciona pero proba hacer todo en una unica etiqueta <?....?> y luego observa los resultados.
  #4 (permalink)  
Antiguo 23/10/2003, 20:51
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 6 meses
Puntos: 0
phpnet, eso no afecta. Es que tiene mal condicionado el if.

amhyd
  #5 (permalink)  
Antiguo 24/10/2003, 13:19
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 20 años, 7 meses
Puntos: 0
ya lo resolvi gracias a todos, el if estaba mal condicionado
__________________
J-.-`.::
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:23.