Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/01/2014, 07:34
charly_lpg
 
Fecha de Ingreso: octubre-2013
Mensajes: 56
Antigüedad: 10 años, 6 meses
Puntos: 1
Problema con select anidados

Hola a todos.
Tengo el siguiente problema que no puedo resolver.

tendo un select anidado que a medida que voy sleccionado me va sumando datso al proximo select.
ejemplo
select 1 datos base MYSQL
select 2 datos base MYSQL where el valor del select 1 (este select lo tengo resuelto)
select 3 datos base MYSQL where valor select 1 and valor select 2

el problema es que no puedo hacer que me traiga los 2 datos.

la base tiene una sola tabla.

les paso el codigo.

Código PHP:
<?php
require_once("funciones.php");

if(isset(
$_POST['cia'])){
    
    
$tc dameTc($_POST['cia']);
    
    
$html "<option value=''>Seleccione una Tarjeta</option>";
    foreach(
$tc as $indice => $registro){
        
$html .= "<option value='".$registro['tarjeta']."'>".$registro['nombre']."</option>";
    }
    
    
$respuesta = array("html"=>$html);
    echo 
json_encode($respuesta);
}

if(isset(
$_POST['tc'])){
    
    
$bcodameBco($_POST['tc']);
    
    
$html "<option value=''>Seleccione un Banco</option>";
    foreach(
$bco as $indice => $registro){
        
$html .= "<option value='".$registro['banco']."'>".$registro['banco']."</option>";
    }
    
    
$respuesta = array("html"=>$html);
    echo 
json_encode($respuesta);
}
if(isset(
$_POST['bco'])){
    
    
$ctadameCta($_POST['bco']);
    
    
$html "<option value=''>Seleccione cantidad de cuotas</option>";
    foreach(
$cta as $indice => $registro){
        
$html .= "<option value='".$registro['cuotas']."'>".$registro['cuotas']."</option>";
    }
    
    
$respuesta = array("html"=>$html);
    echo 
json_encode($respuesta);
}


?>
y el otro es
Código PHP:
<?php

/* Archivo para funciones */

function conectaBaseDatos(){
    try{
        
$servidor "localhost";
        
$basedatos "info_cias";
        
$usuario "root";
        
$contrasena "";
    
        
$conexion = new PDO("mysql:host=$servidor;port=$puerto;dbname=$basedatos",
                            
$usuario,
                            
$contrasena,
                            array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
        
        
$conexion->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODEPDO::FETCH_ASSOC);
        return 
$conexion;
    }
    catch (
PDOException $e){
        die (
"No se puede conectar a la base de datos"$e->getMessage());
    }
}

function 
dameCia(){
    
$resultado false;
    
$consulta "SELECT DISTINCT cia,aerolinea FROM coeficientes WHERE aerolinea <> 'tije' ORDER BY aerolinea ASC";
    
    
$conexion conectaBaseDatos();
    
$sentencia $conexion->prepare($consulta);
    
    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;
}

function 
dameTc($cia ''){
    
$resultado false;
    
$consulta "SELECT DISTINCT tarjeta,nombre FROM coeficientes";
    
    if(
$cia != ''){
        
$consulta .= " WHERE cia = :cia";
    }
    
    
$conexion conectaBaseDatos();
    
$sentencia $conexion->prepare($consulta);
    
$sentencia->bindParam('cia',$cia);
    
    
    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;
}

function 
dameBco($tc ''){
    
$resultado false;
    
$consulta "SELECT DISTINCT banco FROM coeficientes";
    
    if(
$tc != ''){
        
$consulta .= " WHERE tarjeta = :tc AND cia = :cia";
        
    }
    
    
$conexion conectaBaseDatos();
    
$sentencia $conexion->prepare($consulta);
    
$sentencia->bindParam('tc',$tc);
    
$sentencia->bindParam('cia',$cia);
    
    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;
}
Desde ya muchisimas gracias por su colaboracion.

Saludos
Chaly_lpg