Foros del Web » Programando para Internet » PHP »

Porque el ifx_num_rows no me trae ningun valor..?

Estas en el tema de Porque el ifx_num_rows no me trae ningun valor..? en el foro de PHP en Foros del Web. Saludos... Estoy probando el ifx_num_rows el cual deberia funcionar igual que el mysql_num_rows pero siempre me sale el valor en 0 o vacio... tengo esto ...
  #1 (permalink)  
Antiguo 11/10/2006, 07:51
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 22 años, 4 meses
Puntos: 0
Porque el ifx_num_rows no me trae ningun valor..?

Saludos...

Estoy probando el ifx_num_rows el cual deberia funcionar igual que el mysql_num_rows pero siempre me sale el valor en 0 o vacio...

tengo esto en la el archivo uno.php
$num_pers = -1;
//Se invoca conexión de Informix...
include_once 'src_cnn_cont.php';
//Conexión a Informix...
$ifx_cnn = new cnn();
$cnn_ifx = $ifx_cnn->ifxcnn();
//Realiza una consulta para listar la busqueda de datos comunes...
$ifxpers = ("select db.id_usu, bd.nombre bd.apellido bd.telf FROM bd WHERE id_usu = '$var' ");
$ifxpers=ifx_query($ifxpers, $cnn_ifx);
$num_pers = ifx_num_rows ($ifxpers);
}
........

y en la pagina dos.php esto
include_once 'uno.php';

if ($num_pers > -1){
while($ifxrow=ifx_fetch_row($ifxpers)){
echo "<tr>";
echo "<td class='cel_blan_lin' width='35%'>";
echo $ifxrow['id_usu']; echo "</td>";
echo $ifxrow['id_nombre']; echo "</td>";
echo "</tr>";
}
ifx_close();
}

Así si funciona mostrando -1 al cargar y al realizar la solicitud me trae 0 en la variable $num_pers si hago...

probe un ejemplo colocando...
if (ifx_num_rows($ifxpers) > 0){ antes del while y me sale que la variable $ifxpers no esta definida..?
__________________
Necesito aprender para compartir mi saber...
  #2 (permalink)  
Antiguo 11/10/2006, 09:33
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
Información Informix no acepta esa función

Saludos Mulato...

Yo llevo 9 meses desarrollando con informix y php y siempre trae 0 la funcion ifx_num_rows; siempre me toca hacer una consulta: select count(*) as cont from tabla y despues:
$arr = ifx_fetch_row(id_consulta);
$Cont = $arr[cont];
if($Cont > 0)
{.........
}

Es una de las desventajas con informix muy pocas funciones para php
  #3 (permalink)  
Antiguo 11/10/2006, 15:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Otro comentario al respecto publicado en PHP.net:
Cita:
User Contributed Notes
ifx_num_rows
icespawn11882 at hotmail dot com
21-Apr-2005 01:56
This function give always 0 as result so I used ifx_affected_rows to count rows of a query's result...

An example of this function:

Código PHP:
$conn_id ifx_connect("db""user""password");
$res_id ifx_query("select * from systables"$conn_id);
$res ifx_affected_rows($res_id);
echo 
$res
$res contains the number of rows in the result of the query after his execution.

Para Massimiliano
Por mi parte puestos a elegir prefiero la opción de usar SQL para contar el n° de resultados y sólo en PHP obtener dicho resutlado (1 sólo regitro con el resultado).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 13/10/2006, 06:21
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 22 años, 4 meses
Puntos: 0
Gracias Counter...

Pero esta función (ifx_affected_rows) solo trae el total de filas afectadas, es decir que si quiero traer 30 registros de un total de 1000 el me trae 1000 y eso no es lo que se busca. Lo que busco es evitar un SELECT Count (*), pero el ifx_num_rows nanay, nanay... Esto lo notaras si utilizas un WHERE...
De todas maneras voy a consultar con la comunidad de PHP a ver que investigo y les posteo...
__________________
Necesito aprender para compartir mi saber...
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 23:10.