Article View: es.comp.os.linux.programacion
Article #9506Re: primera de php, sacar datos de una BD y meterlos en variables e imprimir
From: Jose A
Date: Mon, 17 Jun 2002 14:18
Date: Mon, 17 Jun 2002 14:18
101 lines
4039 bytes
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-mailReferences:
<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