🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #9506

Re: primera de php, sacar datos de una BD y meterlos en variables e imprimir

#9506
From: Jose A
Date: Mon, 17 Jun 2002 14:18
101 lines
4039 bytes
Hola

[ZoRo] escribi�:

> hola como vereis estoy intentando sacar datos de una BD de postgresql para
> su posterior impresion en una pagina web.
> resulta que hago la conexion, saco las filas que cumplen la condicion del
> sql (por favor decirme si de la manera quelo hago esto esta bien
> hecho -pg_fetch_array- o hay otramanera).
> luego queiro que por cada fila que cumple la condicion imprimir, pero
> metiendo los resultado en variables; es decir si hay dos columnas que se
> llaman texto y titulo quisiera que por cada fila me meta en una variable
> el titulo , para as� hacer un listado.
> me podeis ayudar? es que no lo consigo.
> Abajo os pongo un codigo que estoy utilizando a tal efecto, mis pruebas.
> Muchas gracias
> 
> 
> <html>
> <head>
> <title>Untitled Document</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> </head>
> <body bgcolor="#FFFFFF" text="#000000">
> <?php
>   $connection = pg_connect("host=localhost port=5432 dbname=db user=user
> password=passwd") or die ("No conn con POSTGESQL en  --> " .
> pg_errormessage($conn));
> $result=pg_exec("SELECT * from tabla");
> 
>   if (!$result) {
>     echo "hay un error.\n";
>     exit;
> }
>
> $arr = pg_fetch_array ($result, 0);
> //echo $arr[titulo] . " <- array\n";
> $titulo=$arr[titulo];
> $arr = pg_fetch_array ($result, 1);
> echo $arr["texto"] . " <- array\n";
> ?>

�Quieres meter en "$titulo" el valor del campo t�tulo, y imprimir el valor 
del campo texto del siguiente registro?

Por que eso es lo que estas haciendo.

Si tienes una base de datos con los campos "titulo" y "texto", y quieres 
sacarlos, haces:

$arr = pg_fetch_array ($result, 0);
$titulo = $arr[titulo];
echo $arr[texto] - " <- array\n";

que te guarda en "$titulo" el valor del campo t�tulo, y imprime el valor 
del campo texto del primer registro (El primer registro es 0).

Como t� lo haces:

$arr = pg_fetch_array ($result, 0);
$titulo = $arr[titulo];

estas metiendo en la variable "$titulo" el valor "titulo" del primer 
registro (el 0).

$arr = pg_fetch_array ($result, 1);
echo $arr["texto"] . " <- array\n";

y estas imprimiendo el valor "texto" del segundo registro, (el 1).

Si quieres sacar todos los registros puedes hacer:

$num = pg_numrows ($result);
for ($i = 0; $i < $num, $i++) {
    $arr = pg_fetch_array ($result, $i);
    // metemos los t�tulo dentro del array "$titulo"
    $titulo[$i] = $arr[titulo];
    // imprimimos el valor de "texto"
    echo $arr[texto] . " <- array\n";
    // Si quieres imprimir el t�tulo aqu� haces:
    echo "<b>$titulo[$i]</b>\n";
}

// Para manejar el array $titulo se puede hacer as�:
// for ($i = 0; $i < $num; $i++) {
//      echo "<b>$titulo[$i]</b>\n";
// }

> <b><%=$titulo%></b>
> <?php
>  pg_close($connection); // cierre de la conexion
> ?>
> </body>
> </html>

PD: Hoy no he dormido mucho (2 horas) y no ando con las ideas muy claras, o 
sea que no s� exaptamente lo que quieres hacer.

espero que te sirva.

saludos.
Technical Details
Message-ID: <aekqtv$9tf96@cesio.mundo-r.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!skynet.be!skynet.be!transit.news.xs4all.nl!195.129.110.18.MISMATCH!bnewspeer00.bru.ops.eu.uu.net!lnewspeer01.lnd.ops.eu.uu.net!emea.uu.net!cesio.mundo-r.com!not-for-mail
References: <aedd66$61rur$1@ID-59646.news.dfncis.de>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,2bc0e76f33df9bc9
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-06-17 07:47:58 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!skynet.be!skynet.be!transit.news.xs4all.nl!195.129.110.18.MISMATCH!bnewspeer00.bru.ops.eu.uu.net!lnewspeer01.lnd.ops.eu.uu.net!emea.uu.net!cesio.mundo-r.com!not-for-mail
From: Jose A <MAQUI000@.NOSPAN.mundo-r.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: primera de php, sacar datos de una BD y meterlos en variables e imprimir
Date: Mon, 17 Jun 2002 16:18:17 +0200
Organization: Another Netscape Collabra Server User
Lines: 102
Message-ID: <aekqtv$9tf96@cesio.mundo-r.com>
References: <aedd66$61rur$1@ID-59646.news.dfncis.de>
NNTP-Posting-Host: cm224109.red.mundo-r.com
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8Bit
User-Agent: KNode/0.6.1