Foros del Web » Programando para Internet » PHP »

Ayuda?

Estas en el tema de Ayuda? en el foro de PHP en Foros del Web. Saludos a todos? Miren antes que nada....deseo realizar una base de datos con PostGreSQL 8.1 y pues por lo tanto la conecion hacia PHP....en pocas ...
  #1 (permalink)  
Antiguo 18/04/2006, 12:18
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 1
De acuerdo Ayuda?

Saludos a todos?

Miren antes que nada....deseo realizar una base de datos con PostGreSQL 8.1 y pues por lo tanto la conecion hacia PHP....en pocas palabras en WEB...si me podrian ayudar con realizo la conenexion hacia este.....necesito algunas librerias...o algo , necesito habilitar algo en PHP asi como lo hize en MYSQL...por fabor una ayuda....
__________________
El Futuro esta en Tus Manos...
  #2 (permalink)  
Antiguo 18/04/2006, 12:29
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Veo que usas Ubuntu, por tanto, sólo necesitas instalar apache, php y postgresql.

# sudo aptitude install apache2
# sudo aptitude install php5
# sudo aptitude install postgresql-8.0
# sudo aptitude install php5-pgsql

El ultimo comando hace la conexión de php5 con postgresql. Luego debes usar las funciones detalladas aqui:

http://www.php.net/manual/es/ref.pgsql.php
  #3 (permalink)  
Antiguo 18/04/2006, 17:27
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 1
Ok...mira tenias razon...si estoy usando ubuntu y ya lo instale, pero mi pregunta es como hajo la conexion de mi base de datos de postgreSQL a PHP..para que asi yo pueda visualizarlo en un formulario....dicha consulta....pienso yo que solo seria la conexion ya lo demas es como los demas DB....o corriganme,.,,por fabor...
__________________
El Futuro esta en Tus Manos...
  #4 (permalink)  
Antiguo 18/04/2006, 17:55
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
En el link que te dejé sale la función pg_connect(), que es la que realiza la conexión con el servidor postgresql. Ver: http://www.php.net/manual/es/function.pg-connect.php

Ademas para consultar datos debes usar: pg_query(), pg_fetch_assoc() entre otras, todas definidas y con ejemplos en la pagina oficial de php, link que te indiqué anteriormente.
  #5 (permalink)  
Antiguo 19/04/2006, 10:35
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 1
De acuerdo Holaaa!!!

Gracias...!! lo voy a Checar...!!!1
__________________
El Futuro esta en Tus Manos...
  #6 (permalink)  
Antiguo 19/04/2006, 10:46
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 1
De acuerdo Hola de Nuevo!!!!

Mira ya cheque esto rapido.....!!!

Pero me Marca Error de Conexion...y no se porque....necesito configurar algo de php, apache...o algo...si me pordrias ayudar por fabor....el codigo que utilize fue este:



Código PHP:
   <?php

   
/* ********************* */
   /* Conexion a PostgreSQL */
   /* ********************* */
   /* Conexion a la base de datos */
 
    // Conexion, seleccion de base de datos
    
$conexion_bd pg_connect("host=localhost dbname=estudiante")
     or die(
'No pudo conectarse: ' pg_last_error());

    
// Realizar una consulta SQL
     
$consulta 'SELECT * FROM alumnos';
     
$resultado pg_query($consulta) or die('Consulta fallida: ' pg_last_error());

    
// Impresion de resultados en HTML
       
echo "<table>\n";
           while (
$linea pg_fetch_array($resultadonullPGSQL_ASSOC)) {
       echo 
"\t<tr>\n";
     
        foreach (
$linea as $valor_col) {
                                          echo 
"\t\t<td>$valor_col</td>\n";
                                        }
       echo 
"\t</tr>\n";
}
echo 
"</table>\n";

         
// Liberar conjunto de resultados
          
pg_free_result($resultado);

        
// Cerrar conexion
pg_close($conexion_bd);

?>
Por Fa ayuda?
__________________
El Futuro esta en Tus Manos...
  #7 (permalink)  
Antiguo 19/04/2006, 11:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si obtienes mensajes de error .. debes especificarlos textualmente.

Deberías concretar también si ya tienes creada tu BBDD en PostgreSQL y un usuario para conectarte a el .. (por qué en tu cadena de conexión no lo indicas .. asumes alguno "por defecto"?)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 19/04/2006, 11:42
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 1
De acuerdo Si

Una disculpa tienes razon no especifique :

Mira si tengo ya creada una Base de Datos que se llama estudiante y una tabla que se llama alumnos en la tabla tienes los siguientes campos id,nombre domicilio, edad.

ahora el error que me aparece es este:

Fatal error: Call to undefined function pg_connect() in H:\AppSER\www\pruebas\default.php on line 15

y aqui esta el codigo de nuevo pero ya con user y password aunque ya lo habia probado y salia lo mismo:
Código PHP:
<?php

   
/* ********************* */
   /* Conexion a PostgreSQL */
   /* ********************* */
   /* Conexion a la base de datos */
   // Conexion, seleccion de base de datos
   
    
$conexion_bd pg_connect("host=localhost dbname=estudiante user=postgres password=123456/*-")

     or die(
'No pudo conectarse: ' pg_last_error());

    
// Realizar una consulta SQL
     
$consulta 'SELECT * FROM alumnos';
     
$resultado pg_query($consulta) or die('Consulta fallida: ' pg_last_error());

    
// Impresion de resultados en HTML
       
echo "<table>\n";
           while (
$linea pg_fetch_array($resultadonullPGSQL_ASSOC))
               {
       echo 
"\t<tr>\n";
     
        foreach (
$linea as $valor_col) {
                                          echo 
"\t\t<td>$valor_col</td>\n";
                                        }
                echo 
"\t</tr>\n";
                }
           
            echo 
"</table>\n";

         
// Liberar conjunto de resultados
          
pg_free_result($resultado);

        
// Cerrar conexion
          
pg_close($conexion_bd);

?>
Por fabor una respuesta.....tengo q configurar algo en PHP.ini o en apache o en postgresql.conf.

Por Fabor...!!!
__________________
El Futuro esta en Tus Manos...
  #9 (permalink)  
Antiguo 19/04/2006, 11:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. ahora se vé más claro el problema

Si te fijas bien .. lo que te está indicando es que NO tienes instalada la extensión correspondiente en tu versión de PHP para soporte de PostgreSQL (grupo de funciones).

Debes instalar la extensión correspondiente a PostgreSQL o verificar su instalación (phpinfo() lo puedes ver .. debes ver un bloque de información al respecto de PostgreSQL).

Como veo que usas windows .. las extensiones en windows no se "compilan" .. tan sólo se habilita desde tu php.ini la línea que haga mención a:

extension = php_gp.dll (creo que es esa? revisalo).

La habilitación consiste en quitar el ; que tenga delante esa línea y reiniciar tu servidor (además de verificar que la directiva: extension_dir = apunte al directorio /extensions donde están esas php_xxx.dll (esa y otras más ...)

Es probable que requieras algo más .. Suelen ser otras ".dll" que son la versión "cliente" de PostgreSQL (esto suce por ejemplo cuando no usas PostgreSQL o el motor de BBDD que te pretendes conectar en el mismo servidor que PHP).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 19/04/2006, 12:28
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 1
De acuerdo Ok

Mira...este ya configure mi PHP de las Librerias ...que estan en /ext y ahi esta
php_pgsql.dll ...ya la ahibilite asi como otras que ya habia hecho con mysql...

en php.....pero nada...este escribes en tu sugerencia o comentario q deben de haber otras .dll como cliente y una pregunta en donde bajo esas .dll-....para asi ya correr mi postgreSQl...bueno....esto si que es un poco complicado...ya que ya habia configurado mysql y listo.....pero postgreSQL uhhhhh!!! pero se que siembre hay una solucion?-...espero tu respuesta!!!
__________________
El Futuro esta en Tus Manos...
  #11 (permalink)  
Antiguo 19/04/2006, 12:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. tu tienes instalado PostgreSQL en ese servidor que corres PHP?.

De todas formas al iniciar PHP si dices tener habilitadas tus extensiones php_xxx.dll deberías obtener un mensaje de error referente a esa falta de otas .dll.

En su defecto .. confirma si haciendo un phpinfo() ves referencia a PostgreSQL .. pero el mensaje de error te dice que no lo tienes instalado.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 19/04/2006, 13:37
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
No haz olvidado reiniciar Apache luego de los cambios? Debes además asegurarte de cual es exactamente el directorio que tiene las extensiones y si esta bien indicado en php.ini
  #13 (permalink)  
Antiguo 19/04/2006, 16:41
Avatar de Unxky28  
Fecha de Ingreso: marzo-2006
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 1
De acuerdo Ya!!!!

Miren ya resolvi mi problema...tuve q instalar mi apache y mi php de nuevo....todo hasta mi postgreSQL.....tuve q hacerlo de esa forma....y ya puedo visualizar una base en un formulario en una pagina web....

Pero ahora tengo una duda realmente no eh utilizado PostgreSQL....tal vez me eh este equivocando de lujar ....pero si no muevan esta pregunta en bases de datos.....Lo que pasa es que al momento de abrir mi PGAdmin lll, y visualizar mi tabla que se llama usuarios me aparece esto:

direccion varchar(50) NOT NULL,
telefono varchar(30),
"login" varchar(20) NOT NULL,
"password" varchar(35) NOT NULL,

de ese color y pienso que por eso no puedo entrar en mi pagina para ver los resultados....
si me podrian decir porque sale de ese color.....mas bien que significa.......Gracias...
__________________
El Futuro esta en Tus Manos...
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 20:59.