Foros del Web » Programando para Internet » PHP »

Consulta al cargar combo desde una base de datos

Estas en el tema de Consulta al cargar combo desde una base de datos en el foro de PHP en Foros del Web. Hola. Mi pregunta es de mero principiante. Estoy practicando como cargar datos de manera dinamica en un combobox consultado a mi base de datos. Estoy ...
  #1 (permalink)  
Antiguo 21/10/2009, 11:06
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Consulta al cargar combo desde una base de datos

Hola.
Mi pregunta es de mero principiante. Estoy practicando como cargar datos de manera dinamica en un combobox consultado a mi base de datos. Estoy siguiendo las FAQ que estan en el mismo foro y que hacian alucion a lo que deseo aprender y la parte de la llamada el código es el siguiente:

Código PHP:
<?php
include("funciones.php");
cargar_combo("tabla","id","opcion");
?>
Mi consulta a que se refiere con los parametros "id" y "opcion"


Gracias por la aclaración.
  #2 (permalink)  
Antiguo 21/10/2009, 11:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Consulta al cargar combo desde una base de datos

Si te fijas en la funcion que usa
Código PHP:
Ver original
  1. <?php
  2. function cargar_combo($tabla,$value,$opt){
  3. $enlace = mysql_connect("localhost", "root", "") or die("No pudo conectarse : " . mysql_error());
  4.     mysql_select_db("prueba") or die("No pudo seleccionarse la BD.");
  5.     $sql = "select * from ".$tabla;
  6.     $res = mysql_query($sql) or die (mysql_error());
  7.     echo "<select name='$tabla' class='botones'>";
  8.     while($fila = mysql_fetch_assoc($res)){
  9.         echo "<option value='$fila[$value]'>$fila[$opt]</option>";
  10.     }
  11.     echo "</select>";
  12.              mysql_close($enlace);
  13. }
  14. ?>
Vas a notar que id es la columna que busca especificamente para buscar la informacion y opcion es otra columna para mostrar el dato al usuario.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/10/2009, 11:52
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta al cargar combo desde una base de datos

Cita:
Iniciado por abimaelrc Ver Mensaje
Si te fijas en la funcion que usa
Código PHP:
Ver original
  1. <?php
  2. function cargar_combo($tabla,$value,$opt){
  3. $enlace = mysql_connect("localhost", "root", "") or die("No pudo conectarse : " . mysql_error());
  4.     mysql_select_db("prueba") or die("No pudo seleccionarse la BD.");
  5.     $sql = "select * from ".$tabla;
  6.     $res = mysql_query($sql) or die (mysql_error());
  7.     echo "<select name='$tabla' class='botones'>";
  8.     while($fila = mysql_fetch_assoc($res)){
  9.         echo "<option value='$fila[$value]'>$fila[$opt]</option>";
  10.     }
  11.     echo "</select>";
  12.              mysql_close($enlace);
  13. }
  14. ?>
Vas a notar que id es la columna que busca especificamente para buscar la informacion y opcion es otra columna para mostrar el dato al usuario.

Desde ya gracias.
Haber a modo de ejemplo.
Yo tengo una tabla que se llama libro y sus campos son: id_libro y nombre_libro.

Cuando yo llamo a la funcion seria con esos parametros :

Código PHP:
<?php
include("funciones.php");
cargar_combo("libro","id","opcion"); 
?>
¿Esos parametros (id y opcion) que valor tendrian que llevar?


Gracias.
  #4 (permalink)  
Antiguo 21/10/2009, 11:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Consulta al cargar combo desde una base de datos

Tratalo con esos nombre que colocaste y nos dejas saber.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 21/10/2009, 12:17
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta al cargar combo desde una base de datos

Mira.
Probe de la siguiente manera:

Código PHP:
<?php
    
    
require('base_datos.php');
    require(
'conexion.php');
    
    
//llamamos a la funcion cargar combobox
    
    
include("carga_combo.php");
    
cargar_combo("libro","id","opcion");        

?>
y en la funcion:
Código PHP:
<?php

//cargar datos en combobox
function cargar_combo($tabla,$value,$opt)
{
    require (
'base_datos.php');
    require (
'conexion.php');
    
    
$sql "select nombre_libro from " .$tabla;
    echo 
"$sql";
    
$res mysql_query($sql) or die (mysql_error());
    
//$cant= mysql_num_rows($res);
    //echo "$cant";
    
    
echo "<select name='$tabla'>";
    while(
$fila mysql_fetch_assoc($res))
    {
        echo 
"<option value='$fila[$value]'>$fila[$opt]</option>";
    }
    echo 
"</select>";
}

?>

Cuando lo ejecuto, me carga el combo con la cantidad de filas (si tengo 4 datos en la tabla em carga 4 filas el combo) pero me sale sin el nombre.
  #6 (permalink)  
Antiguo 21/10/2009, 13:39
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
Respuesta: Consulta al cargar combo desde una base de datos

Y si tratas asi:

Código PHP:
<?php

//cargar datos en combobox
function cargar_combo($tabla,$value,$opt)
{
    require (
'base_datos.php');
    require (
'conexion.php');
    
    
$sql "select nombre_libro from " .$tabla;
    echo 
"$sql";
    
$res mysql_query($sql) or die (mysql_error());
    
//$cant= mysql_num_rows($res);
    //echo "$cant";
    
    
echo "<select name='$tabla'>";
    while(
$fila mysql_fetch_assoc($res))
    {
        echo 
"<option value='".$fila[$value]."'>".$fila[$opt]."</option>";
    }
    echo 
"</select>";
}

?>
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶

Última edición por JessicaTJ; 21/10/2009 a las 13:45
  #7 (permalink)  
Antiguo 21/10/2009, 14:39
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta al cargar combo desde una base de datos

Cita:
Iniciado por JessicaTJ Ver Mensaje
Y si tratas asi:

Código PHP:
<?php

//cargar datos en combobox
function cargar_combo($tabla,$value,$opt)
{
    require (
'base_datos.php');
    require (
'conexion.php');
    
    
$sql "select nombre_libro from " .$tabla;
    echo 
"$sql";
    
$res mysql_query($sql) or die (mysql_error());
    
//$cant= mysql_num_rows($res);
    //echo "$cant";
    
    
echo "<select name='$tabla'>";
    while(
$fila mysql_fetch_assoc($res))
    {
        echo 
"<option value='".$fila[$value]."'>".$fila[$opt]."</option>";
    }
    echo 
"</select>";
}

?>
Arroja los mismo resultados. ( que si bien el combo carga la cantidad de filas que tiene la tabla no me esta cargando los nombre de esas filas)

Gracias
  #8 (permalink)  
Antiguo 21/10/2009, 14:43
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Consulta al cargar combo desde una base de datos

Cita:
Iniciado por Capote Ver Mensaje
Desde ya gracias.
Haber a modo de ejemplo.
Yo tengo una tabla que se llama libro y sus campos son: id_libro y nombre_libro.

Cuando yo llamo a la funcion seria con esos parametros :

Código PHP:
<?php
include("funciones.php");
cargar_combo("libro","id","opcion"); 
?>
¿Esos parametros (id y opcion) que valor tendrian que llevar?


Gracias.
Cita:
Iniciado por abimaelrc Ver Mensaje
Tratalo con esos nombre que colocaste y nos dejas saber.
Hiciste eso?
  #9 (permalink)  
Antiguo 21/10/2009, 16:18
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta al cargar combo desde una base de datos

Cita:
Iniciado por darkasecas Ver Mensaje
Hiciste eso?

Sí y arroja esto:
  #10 (permalink)  
Antiguo 21/10/2009, 16:28
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Consulta al cargar combo desde una base de datos

Puedes colocar el codigo para ver como mandas llamas a cargar_combo?
  #11 (permalink)  
Antiguo 21/10/2009, 17:38
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta al cargar combo desde una base de datos

Cita:
Iniciado por darkasecas Ver Mensaje
Puedes colocar el codigo para ver como mandas llamas a cargar_combo?

Asi lo mando a llamar:

Código PHP:
<?php
    
    
require('base_datos.php');
    require(
'conexion.php');
    
    
//llamamos a la funcion cargar combobox
    
    
include("carga_combo.php");
    
cargar_combo("libro","id_libro","opcion");        

?>
y la función:

Código PHP:
<?php

//cargar datos en combobox
function cargar_combo($tabla,$value,$opt)
{
    require (
'base_datos.php');
    require (
'conexion.php');
    
    
$sql "select nombre_libro  from " .$tabla;
    
//echo "$sql";
    
$res mysql_query($sql) or die (mysql_error());
    
//$cant= mysql_num_rows($res);
    //echo "$cant";
    
    
echo "<select name='$tabla'>";
    while(
$fila mysql_fetch_assoc($res))
    {
        echo 
"<option value='".$fila[$value]."'>".$fila[$opt]."</option>";
    }
    echo 
"</select>";
}


?>
Lo que no comprendo que otros valores aparte del nombre de la tabla (id y opcion) tengo que mandar por parámetro a la función.

pd. de verdad si el error es muy básico comprendan que estoy aprendiendo recien php


Gracias!
  #12 (permalink)  
Antiguo 21/10/2009, 19:20
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Consulta al cargar combo desde una base de datos

Despues de luchar bastante, pude solucionarlo, modifique un poco el código, espero que no sea para mal eso si (ja). Ahora estoy pasando a la función por parámetro solo el nombre de la tabla.

Aqui el código:
Llamada a la funcion:
Código PHP:
<?php
    
    
require('base_datos.php');
    require(
'conexion.php');
    
    
//llamamos a la funcion cargar combobox
    
include("carga_combo.php");
    
cargar_combo("libro");        

?>
Función carga_combo.php

Código PHP:
<?php
//cargar datos en combobox
function cargar_combo($tabla)
{
    require (
'base_datos.php');
    require (
'conexion.php');
       
//cargar combo
       
echo "<select name='libro'> ";
       echo 
"<option selected='selected'>seleccione comuna</option>";
            
$consulta "select nombre_libro from " .$tabla;
            
$resultado mysql_query ($consulta);
            
//comprobar si esxiten resultados
            
if (mysql_num_rows ($resultado))
                {
                   
//Muestra los resultados
                        
for ($i=0$i<=mysql_num_rows($resultado)-1$i++)
                        {
                            if (!(
$registro mysql_fetch_row($resultado)))
                            {
                                continue;
                            }
                            echo 
'<option>'.$registro[0].'</option>';
                        }
                }        
}
?>
Gracias a todos por la ayuda
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:02.