Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-05-2005
Avatar de jwmoreira
jwmoreira jwmoreira is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
jwmoreira Va por buen camino
Que está mal ?

Estoy empezando a revisar PHP con este script, pero al parecer algo me falta porque no muestra los datos, la conexion la realiza bien, trae bien la cantidad de registros de la tabla consultada pero al mostrar los datos no sale nada:

Código PHP:
$path 'host:alias.fdb';
$usuario 'SYSDBA';
$password 'masterkey';
$dbhd ibase_connect ($path$usuario$password);
$sql 'SELECT cod_modelo FROM tb_eq_modelos';
$consulta ibase_query($dbhd$sql);

if (
ibase_num_fields($consulta) > 0) {
   while (
$fila ibase_fetch_row($consulta)) {
       print 
$fila ."\n";  // Primera sintaxis nada
       
echo "$fila->cod_modelo \n";  // Segunda sintaxis nada
       
print "XX".$fila -> cod_modelo ."\n"// Le agregue XX y si las muestra las 11 lineas de los 11 registros
    
}
}
else {
   die(
"No se han encontrado valores en la consulta");


Saludos,
Jorge
Responder Con Cita
  #2  
Antiguo 04-05-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
ibase_fetch_row devuelve un array de modo que para acceder a los campos debes indicar algo como:

Código PHP:
$fila ibase_fetch_row($consulta);
echo 
$fila[0];  // Primer campo de la query
echo $fila[1];  // Segundo campo de la query 
Si quiere que te devuelva un array asociativo tendrias que usar lo siguiente:

Código PHP:
$fila ibase_fetch_assoc($consulta);
echo 
$fila['COD_MODELO'] ; // !Importante: El nombre del campo debe estar siempre en mayusculas. 
Si quiere recibir un objeto, habria que usar:

Código PHP:
$filaibase_fetch_object($consulta);
echo 
$fila->COD_MODELO// !Importante: Como antes en mayusculas 
Otra cosa muy importante, te sobra la funcion ibase_num_fields,
esa funcion no sirve para lo que crees.
No indica el numero de registros devueltos por la query, sino el numero de
CAMPOS, es decir en tu ejemplo siempre te va a devolver el valor: 1 ,
(has indicado solo un campo cod_modelo en el SELECT).
Asi que elimina simplemente ese IF, no sirve para nada.

Cuando necesites saber exactamente que contiene dentro un array u objeto
de php, puedes indicar algo como lo siguiente:

Código PHP:
echo '<pre>';
echo 
print_r($file);
echo 
'</pre>'
Php te imprira el contenido interno de la variable en una estructura en forma de arbol, podras ver rapidamente que contiene (asi como saber si es un array normal, o un array asociativo o un objeto, etc).

Saludos
Responder Con Cita
  #3  
Antiguo 04-05-2005
Avatar de jwmoreira
jwmoreira jwmoreira is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
jwmoreira Va por buen camino
Gracias Mick, todo excelente a excepción de la cláusula ibase_fetch_assoc me da el siguiente error:

Fatal error: Call to undefined function: ibase_fetch_assoc() in c:\phpdev\www\taller\prueba.php on line 19

Mick, en donde puedo ver las diferentes sintaxis para todos los comando relacionados a firebird con php, ej: ibase_fetch_object, ibase_fetch_row, etc.

Saludos,
Jorge.
Responder Con Cita
  #4  
Antiguo 04-05-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Seguramente tendras una version antigua de php que aun no soportaba
esa funcion (En versiones menores que la 4.3.0 no existia esa funcion).

La ayuda de php, esta en www.php.net, la puedes consultar online o tambien te la puedes bajar de alli en formato .hlp de windows, para consultar offline.

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:36:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi