Foros del Web » Programando para Internet » PHP »

Error con pg_list_tables

Estas en el tema de Error con pg_list_tables en el foro de PHP en Foros del Web. Hola amigos, tengo un error al llamar una pequeña función que quiero que me liste 4 tablas en PostgreSQL: el error es este: Fatal error: ...
  #1 (permalink)  
Antiguo 04/08/2008, 13:00
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Error con pg_list_tables

Hola amigos, tengo un error al llamar una pequeña función que quiero que me liste 4 tablas en PostgreSQL:
el error es este:

Fatal error: Call undefined function pg_list_tales() in /ruta/ingreso.php on line 24

La función es esta:

function pg_list_tables() {
$sql = "SELECT relname FROM pg_class WHERE relname IN('tabla1', 'tabla2', 'tabla3', 'tabla4')";
}

La línea 24 donde llamo a la función es la siguiente:
<option value="">Seleccionar Tabla</option>
<option value="<?php pg_list_tables() ?>"</option></select>


Quizás estoy llamando mal a la función, ya que desde el analizador de consultas del phppgadmin, la consulta funciona bien...

Desde ya muy agradecido..
Swa

Última edición por Swab; 04/08/2008 a las 13:07
  #2 (permalink)  
Antiguo 04/08/2008, 13:15
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Fatal error: Call to undefined function pg_connect()

Cita:
Iniciado por Swab Ver Mensaje
[...]
Fatal error: Call undefined function pg_list_tales() in /ruta/ingreso.php on line 24
[...]
function pg_list_tables() {
[...]
Encuentre las diferencias... corre tiempo! .



BTW: Este es error de PHP.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 04/08/2008, 13:48
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: Fatal error: Call to undefined function pg_connect()

Gracias Jam1138:
Encontraré las diferencias y así no molestar con detalles??.

Saludos

pd: esto lo escribí mal...



Fatal error: Call undefined function pg_list_tales() in /ruta/ingreso.php on line 24
el error es:


Fatal error: Call undefined function pg_list_tables() in /ruta/ingreso.php on line 24

Jah
............
  #4 (permalink)  
Antiguo 04/08/2008, 14:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error con pg_list_tables

Según el manual de PHP, no existe ninguna función pg_list_tables.

Saludos.
  #5 (permalink)  
Antiguo 04/08/2008, 14:25
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 4 meses
Puntos: 14
Respuesta: Error con pg_list_tables

Swab te acabo de publicar la solucion a tu problema en el foro de postgresql
__________________
My path is lit by my own fire, I only go where I desire
  #6 (permalink)  
Antiguo 04/08/2008, 15:11
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Error con pg_list_tables

si la funcion es esolo esto:

Código PHP:
function pg_list_tables() {
$sql "SELECT relname FROM pg_class WHERE relname IN('tabla1', 'tabla2', 'tabla3', 'tabla4')";

pues ese es el problema, por que no hace nada esa funcion, no devuelve ningun dato ni imprime codigo ni nada. es lo que yo veo
  #7 (permalink)  
Antiguo 04/08/2008, 15:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Error con pg_list_tables

Cita:
Iniciado por GatorV Ver Mensaje
Según el manual de PHP, no existe ninguna función pg_list_tables
Entendí es definida por el usuario.

Entonces ¿el mensaje de error solo fue al copiarlo aquí?, ¿en verdad si defines la función?. ¿Dónde?... raro esta
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 04/08/2008, 15:24
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Error con pg_list_tables

Cita:
Iniciado por DooBie Ver Mensaje
pues ese es el problema, por que no hace nada esa funcion, no devuelve ningun dato ni imprime codigo ni nada. es lo que yo veo
... tienes razón a medias. En efecto, la función esta mal y no hará nada, pero eso no es razón de que presente el mensaje de error que ahora presenta. El error dice claramente que la función no esta definida, que no existe, haga o no haga nada, estando definida, no debería mostrar ese error. El comportamiento ahora esperado es un listbox vacio (salvo por la opción introducida manualmente).

Repito: tienes razón, pero eso no es causa de este error.

@foreverOdd: ¿algún enlace a aquella respuesta?

Saludos
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 04/08/2008, 16:06
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Error con pg_list_tables

Cita:
Iniciado por jam1138 Ver Mensaje
... tienes razón a medias. En efecto, la función esta mal y no hará nada, pero eso no es razón de que presente el mensaje de error que ahora presenta. El error dice claramente que la función no esta definida, que no existe, haga o no haga nada, estando definida, no debería mostrar ese error. El comportamiento ahora esperado es un listbox vacio (salvo por la opción introducida manualmente).

Repito: tienes razón, pero eso no es causa de este error.

@foreverOdd: ¿algún enlace a aquella respuesta?

Saludos
tienes razon, y pensando en ello, seria bueno saber si la supuesta funcion esta definida en el mismo fichero donde se llama, o se hace un include que la contenga.

saludos
  #10 (permalink)  
Antiguo 05/08/2008, 08:33
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 4 meses
Puntos: 14
Respuesta: Error con pg_list_tables

Código PHP:

function pg_list_tables() {

       
$conex _CONEXION_

          $sql 
"SELECT a.relname AS Name
              FROM pg_class a, pg_user b
              WHERE ( relkind = 'r') and relname !~ '^pg_' AND relname !~ '^sql_'
              AND relname !~ '^xin[vx][0-9]+' AND b.usesysid = a.relowner
        AND NOT (EXISTS (SELECT viewname FROM pg_views WHERE viewname=a.relname));"
;
            
$res pg_query($conex$sql);
            
$rows pg_fetch_all($res);
          return 
$rows;

$rows es una array bidimensional
__________________
My path is lit by my own fire, I only go where I desire
  #11 (permalink)  
Antiguo 05/08/2008, 10:04
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Error con pg_list_tables

No cómo; ¿dónde?. ¿Esta dentro del mismo archivo?, ¿es incluida desde otro archivo?, ¿definida antes o después de ser llamada? ¿qué versión de PHP?

Repito, el error te dice que no está definida, entonces "no la ve", es ese el problema. Revísalo bien... si no te funciona, podrías poner un pedazo de código (simplificado) donde te muestre el error pero se vea la definición de la función y su utilización?. Dice el dicho: ver para creer.

Saludos
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 05/08/2008, 19:02
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: Error con pg_list_tables

Cita:
Iniciado por jam1138 Ver Mensaje
No cómo; ¿dónde?. ¿Esta dentro del mismo archivo?, ¿es incluida desde otro archivo?, ¿definida antes o después de ser llamada? ¿qué versión de PHP?

Repito, el error te dice que no está definida, entonces "no la ve", es ese el problema. Revísalo bien... si no te funciona, podrías poner un pedazo de código (simplificado) donde te muestre el error pero se vea la definición de la función y su utilización?. Dice el dicho: ver para creer.

Saludos
Hola Amigos, me disculpo por responder y agradecer sus respuestas que me han dado:
Les comento, mi problema radica en que necesito listar 4 tablas de una BD en un combobox, lo he hecho de esta manera:
-----------------------------------------------------------------------------------------------
<select name="CmbTbl">
<option value="">Seleccionar Tabla</option>
<?php
$SQLT = "SELECT table_name FROM information_schema.tables WHERE table_name IN('tabla1', 'tabla2', 'tabla3', 'tabla4')";
$resultt = pg_query($SQLT);
while($fila = pg_fetch_array($resultt)){
echo '<option value= "'.$fila[table_name].'">'.$fila[table_name].'</option>';
}
echo"</select></td>";

-------------------------------------------------------------------------------------------------
lo que vi buscando en google, fue la misma función que el amigo más arriba:
function pg_list_tables{
***************
*********
*****
***
**
blabla
}
y dentro de una caja de texto o un combobox quería mostrar esas tablas, como muestro arriba, ya logré mostrarlas...

Mi problema ahora es que, por ejemplo: selecciono "tabla1"; se muestren los nombre de los campos de esa tabla seleccionada.

Esto igual pude hacerlo de esta manera....

$SQLC = "SELECT column_name FROM information_schema.columns WHERE table_name = 'tabla1' AND column_name IN('campo1', 'campo2')";

Pero esto no es lo que quiero, si se fijan estoy forzando 'tabla1', no es la que viene de arriba!...
Quiero forzar a que me muestre el nombre de los campos de la tabla que seleccione... es como lo que se suele hacer con los combobox dinámicos, pero acá estoy teniendo topes amigos.

Muchas gracias desde ya, espero me entiendan y me disculpo por alargarme demasiado, pero quiero que me puedan entender!...
Gracias a todos!
Swa
  #13 (permalink)  
Antiguo 05/08/2008, 19:21
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: Error con pg_list_tables

Muchas Gracias amigo foreverOdd por tu óptima respuesta:
Esta función la he visto en el manual de php como en otros lugares, pero lo que necesito como acabo de mencionar, es seleccionar una tabla y después se carguen sus campos... Muchos dirán, comboboz dinámicos, usa el Onchange, pero al usar "information_schema.tables" e "information_schema.columns", no sé de que manera hacerlo, ya habiendoles mostrado las consulta del modo que las estoy realizando, espero cualquier crítica, apoyo, ayuda.

Muchas gracias a todos
Swa
  #14 (permalink)  
Antiguo 06/08/2008, 11:09
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 4 meses
Puntos: 14
Respuesta: Error con pg_list_tables

no se si te sera de ayuda pero quiza puedas usar esta funcion

pg_field_name

y esta otra

pg_field_table que te da el nombre de la tabla a la que pertenece un campo, investiga y visas a ver
__________________
My path is lit by my own fire, I only go where I desire
  #15 (permalink)  
Antiguo 07/08/2008, 07:00
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Sonrisa Respuesta: Error con pg_list_tables

Cita:
Iniciado por foreverOdd Ver Mensaje
no se si te sera de ayuda pero quiza puedas usar esta funcion


y esta otra

pg_field_table que te da el nombre de la tabla a la que pertenece un campo, investiga y visas a ver


Muchas Gracias Amigo por tu ayuda; agradecido de todos!
Hasta pronto!
Swa
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 07:52.