Foros del Web » Programando para Internet » PHP »

proble para mostrar menu dinamico

Estas en el tema de proble para mostrar menu dinamico en el foro de PHP en Foros del Web. Hola Amigos, que tal, tengo el siguiente problema, no se como mostrar los registros de la base de datos.... Código PHP: <?php include  "./librerias/lib_db.inc" ; ...
  #1 (permalink)  
Antiguo 15/09/2004, 11:22
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 20 años, 6 meses
Puntos: 0
proble para mostrar menu dinamico

Hola Amigos, que tal, tengo el siguiente problema, no se como mostrar los registros de la base de datos....
Código PHP:
<?php
include "./librerias/lib_db.inc";
include 
"./librerias/lib_general.inc";

global 
$usuario_db$bd;

$query=<<<QUERY
 SELECT * FROM menu
QUERY;

$resultado=consultar($query);
if (
$resultado!=FALSE) {
 echo (
"<table width=\"100%\" border=\"0\" align=\"center\">");
 echo (
"<tr> <td bgcolor=\"#D0D8CF\">Men&uacute; Din&aacute;mico</td></tr>");
 While (
$line pg_fetch_array($resultado)) {
   echo (
"<tr>");
   echo (
"<td>");
   echo (
"<a href=$line[1]>$line[0]</a>");
   echo (
"</td>");
   echo (
"</tr>");
 }
 echo (
"</table>");
}

?>
Aqui intentom mostrar los datos pero no me salen no se porque..
y de esta manera, salen pero no como yo quiero..
Código PHP:
<?php

include "./librerias/lib_db.inc";
include 
"./librerias/operaciones.inc";

global 
$usuario_db$bd;

$query=<<<QUERY
    SELECT * FROM menu
QUERY;

$resultado=consultar($query);
while (list(
$key,$val)=each($resultado)) {
  
$menu_item=$val['menu_item'];
  
$menu_link=$val['menu_link'];
  echo 
$menu_item;
  echo 
$menu_link;
}

$entorno=<<<ENTORNO
<table whidt="100%" border="0" align="center">
<tr><td bgcolor="#DOD8CF">Menu Dinamico</td></tr>
<tr><td>$menu_item</td>
    <td>$menu_link</td>
</tr>
</table>
ENTORNO;
 echo 
$entorno."\n";
?>
Lo que trato de sacar son los enlaces que tengo en una tabla de Postgre, pero no se como lo puedo hacer bien, no se que hago mal...
aqui les dejo la funcion que consulta la base de datos...
Código PHP:
function consultar($transaccion)
 {
    global 
$usuario_db_colombo$bd;
    
$recurso=@pg_connect ("dbname=$bd user=$usuario_db_colombo");
    if (
$recurso==FALSE
        return 
FALSE//No existe conexión a la BD.
    
$resultado =@pg_query($recurso,$transaccion);
    if (
$resultado==FALSE) {
        @
pg_close($recurso);
        return 
FALSE;
    }else{
        
$vec_resul=array();
        
$registros=@pg_num_rows($resultado);
        for (
$reg=0$reg<$registros$reg++) {
            
$vec_resul[]= @pg_fetch_array($resultado,$reg,PGSQL_ASSOC);
        }      
    }
    @
pg_close($recurso);
    return 
$vec_resul// Retorna Arreglo Asociativo con los resultados
 

Bueno me estoy volviendo loco, espero su excelente orientacion..chao..
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #2 (permalink)  
Antiguo 15/09/2004, 13:34
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 20 años, 6 meses
Puntos: 0
alguien ayuda..!!!
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #3 (permalink)  
Antiguo 15/09/2004, 22:38
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 20 años, 6 meses
Puntos: 0
Ayudaaa!!!

Hola, aun estoy perdido, ayudenme, please...chao
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #4 (permalink)  
Antiguo 15/09/2004, 23:22
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 20 años, 6 meses
Puntos: 0
Nada, no me funciona, que sera???
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #5 (permalink)  
Antiguo 16/09/2004, 22:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Con respecto a la generación de HTML que usarás .. debes respetar las comillas donde correspondan .. ejemplo:

Esto:
Código PHP:
echo ("<a href=$line[1]>$line[0]</a>"); 
Debería ser:
Código PHP:
echo "<a href=\"".$line[1]."\">".$line[0]."</a>"
(el parentesis en el echo sobra .. concatenando se vé más claro donde están tus variables en un editor que coloree sintax)

Si usas tu función "consultar()" ahí mismo dice que obtiene los registros como un array asociativo .. así que en tu primer ejemplo no podrías usar acceso por indice numérico pues es asociativo (= al nombre de tus campos de las tablas implicadas de tu BD).

En el segundo ejemplo .. si dices que "obtienes los datos, pero no 'salen' como tu quieres" .. tendrás que explicar o poner un ejemplo "gráfico" de como debe quedar la presentación de esos datos (recuerda que no somos adivinos, por eso no obtienes respuestas).

Por lo demás .. si usas un @ delante de una función .. "silencias/ocultas" un posible error que pudieras tener. En fase de desarrollo en generar es altamente recomendable "ver" todo mensaje de error que puedas tener (no uses el @ en las funciones) . .Luego cuando pases tu script a "producción" ahí si quieres usas la @ o usas el control de errores vía: error_reporting() (lo cual te evitará tener que poner un @ a cada función ...)

Un saludo,

Un saludo,
  #6 (permalink)  
Antiguo 17/09/2004, 04:22
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias Cluster, pero lo que necesito es saber como puedo recorrer esos registros, si los recibo como un array asociativo, pero los quiero recibir numericos, como hago para cambiar eso, hay no se como, en vez que me lo devuelva asociativo, lo necesito numerico, para erecorrerlo con un While por ejemplo, como seria??
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #7 (permalink)  
Antiguo 17/09/2004, 04:26
Avatar de capuleto  
Fecha de Ingreso: octubre-2003
Ubicación: Cartagena
Mensajes: 219
Antigüedad: 20 años, 6 meses
Puntos: 0
Oh, si hay alguna manera de recorrer estos registros colo los recibo asi asciativo, es decir, como los puedo recorrer en forma asociativa??? y mostrarlos...ok...
Con MySQL si funciona correctamente, aqui esta el codigo..
Código PHP:
<?php
// open database connection
@mysql_connect('localhost','root','') or die("ERROR--CAN'T CONNECT TO SERVER");
@
mysql_select_db('links_db') or die("ERROR--CAN'T CONNECT TO DB");

// SQL query to return data in selected table
$sql_query "SELECT * FROM menu";
$row_count mysql_query($sql_query);

// create table
echo ("<table width=\"100%\" border=\"0\" align=\"center\">");
echo (
"<tr> <td bgcolor=\"#D0D8CF\">Men&uacute; Din&aacute;mico</td> </tr>");

// while records exists to fetch from table, repeat this action
while ($line mysql_fetch_row($row_count)) {
echo (
"<tr>");
echo (
"<td>");
// construct a hyperlink from the 2 data elements of record in table
echo ("<a href=$line[1]>$line[0]</a>");
echo (
"</td>");
echo (
"</tr>");
}

// end table
echo ("</table>");

// close result set and connection
mysql_free_result($row_count);
mysql_close();
?>
Chao...
__________________
...Definitivamente Soy Nadie entre los Sabios....*-*Capuleto*-*
  #8 (permalink)  
Antiguo 17/09/2004, 13:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues por mi parte no trabajo con PostgreSQL . .pero siempre puedes leer la documentación oficial al respecto ..

fijate:
pg_fetch_array($resultado,$reg,PGSQL_ASSOC);

www.php.net/pg_fetch_array

Leyendo un poco veras que tienes la constante:
PGSQL_NUM

para lo que andas buscando ...

Un saludo,
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 19:05.