Foros del Web » Programando para Internet » PHP »

Rellenar combobox con mas de un argumento en la select

Estas en el tema de Rellenar combobox con mas de un argumento en la select en el foro de PHP en Foros del Web. Hola a todos!! Tengo un pequeño problema relaccionado con PHP y AJAX... lo he puesto aqui porque creo q el problema esta en PHP, la ...
  #1 (permalink)  
Antiguo 14/07/2014, 06:45
 
Fecha de Ingreso: noviembre-2013
Ubicación: Spain
Mensajes: 5
Antigüedad: 10 años, 5 meses
Puntos: 0
Rellenar combobox con mas de un argumento en la select

Hola a todos!!
Tengo un pequeño problema relaccionado con PHP y AJAX... lo he puesto aqui porque creo q el problema esta en PHP, la cuestion es. Quiero rellenar 4 combobox dinamicamente con datos de la base de datos dependiendo de las selecciones previas, el problema que tengo es que se me rellenan todos los combobox pero el ultimo no me se me rellena correctamente, ya que tengo que hacer la select con dos condiciones en el WHERE es decir...

La funcion para rellenar el combobox de los "arboles":

Código PHP:
function damearboles($variedad '')
{
    
$resultado false;
    
$consulta "SELECT * 
                FROM arboles"
;
    
    if (
$variedad != '')
    {
        
$consulta .= " WHERE cod_variedades = :cod_variedades";
    }
    
    
$conexion conectaBaseDatos();
    
$sentencia $conexion->prepare($consulta);
    
$sentencia->bindParam('cod_variedades',$variedad);
    
    try
    {
        if(!
$sentencia->execute())
        {
            
print_r($sentencia->errorInfo());
        }
        
        
$resultado $sentencia->fetchAll();
        
//$resultado = $sentencia->fetchAll(PDO::FETCH_ASSOC);
        
$sentencia->closeCursor();
    }
    
    catch(
PDOException $e)
    {
        echo 
"Error al ejecutar la sentencia: \n";
            
print_r($e->POSTMessage());
    }
    
    return 
$resultado;

Mi duda es...como puedo recoger el valor de otro combobox para poder meter en esta función el valor de dicho combobox en la sentencia sql...
La sentencia SQL deberia quedar asi:

SELECT *
FROM ARBOLES
WHERE COD_VARIEDADES = :cod_variedades
AND COD_PARCELA = :#; --> aqui iria la variable del combobox anterior.

Gracias por vuestro tiempo!! un saludo
  #2 (permalink)  
Antiguo 14/07/2014, 08:08
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Rellenar combobox con mas de un argumento en la select

Pero tu con AJAX sólo envías un dato, no? Tendrías que enviar los dos para poder crear la select con las dos condiciones...
  #3 (permalink)  
Antiguo 14/07/2014, 10:37
 
Fecha de Ingreso: noviembre-2013
Ubicación: Spain
Mensajes: 5
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Rellenar combobox con mas de un argumento en la select

Gracias cluster28 por tu ayuda, me a abierto un poco los ojos, el problema que tenia lo he solucionado, desde AJAX mandaba los dos datos, pero en la función sólo recogía uno de ellos... total que he tenido que pasar las variables para la funcion...se a quedado asi.. lo dejo por si alguien lo necesita en un futuro...
Código PHP:
function damearboles($variedad '',$parcela_arbol '')
{
    
$resultado false;
    
$consulta "SELECT * 
                    FROM arboles"
;
    
    if(
$variedad != '')
    {
        
$consulta .= " WHERE cod_variedades = :cod_variedades
                        AND cod_parcela = :cod_parcela"
;
    }
    
    
$conexion conectaBaseDatos();
    
$sentencia $conexion->prepare($consulta);
    
$sentencia->bindParam(':cod_variedades',$variedad);
    
$sentencia->bindParam(':cod_parcela',$parcela_arbol);
    
    try
    {
        if(!
$sentencia->execute())
        {
            
print_r($sentencia->errorInfo());
        }
        
        
$resultado $sentencia->fetchAll();
        
//$resultado = $sentencia->fetchAll(PDO::FETCH_ASSOC);
        
$sentencia->closeCursor();
    }
    
    catch(
PDOException $e)
    {
        echo 
"Error al ejecutar la sentencia: \n";
            
print_r($e->getMessage());
    }
    
    return 
$resultado;

Podeís comprobar que he cambiado las variables que se pasa por la funcion y el BindParam tambien es muy importante. Gracias ;)

Etiquetas: combobox, rellenar, select, sql, variable
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:22.