Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/11/2010, 13:26
warbandit69
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Respuesta: Problema con Extjs no funcionan Selects dependientes sacando datos de la B

Ok, ya lo logre con 2 selects, pero aun me faltan un par mas que no se como realizarlo

Mi Archivo Javascript
Código:
this.paisesStore = new Ext.data.Store({
				autoLoad: true,
					proxy: new Ext.data.HttpProxy({
			        url: '../JSON/select_anidados.php',
			        method: 'POST'
				}),
				reader: new Ext.data.JsonReader({
				root: 'dpaises'	
				}, [
					{name: 'value'},
					{name: 'label'}
				])
			});
			
			this.provinciasStore = new Ext.data.Store({
				autoLoad: true,
					proxy: new Ext.data.HttpProxy({
			        url: '../JSON/select_anidados.php',
			        method: 'POST'
				}),
				reader: new Ext.data.JsonReader({
				root: 'dprovincias'	
				}, [
					{name: 'value'},
					{name: 'label'}
				])
			});
									
			this.select_pais = new Ext.form.ComboBox({  
			    store: this.paisesStore,  
				id: 'pais',  
				valueField: 'value',  
				width:450,
				displayField: 'label',  
				triggerAction: 'all', 
				labelStyle: 'font-weight:bold;', 
				emptyText: 'Seleccione el País de la Obra...',  
				fieldLabel: 'País'  
			});  
			
			this.select_provincias = new Ext.form.ComboBox({  
				store: this.provinciasStore, 
				width:450, 
				disabled: true,
				id: 'provincia',  
				valueField: 'value',  
				displayField: 'label',  
				triggerAction: 'all',  
				mode: 'local',
				labelStyle: 'font-weight:bold;',  
				emptyText: 'Seleccione un País Primero...',  
				fieldLabel: 'Provincia'  
			}); 
			
			this.select_pais.on('select',function(cmb,record,index){	
				this.select_provincias.enable();
				this.select_provincias.clearValue();
				this.provinciasStore.load({
				params:{
					id:record.get('value')
				}
			});
			},this);
Mi Archivo PHP
Código PHP:
<?php
require_once('../Connections/obras.php');
require_once(
'../funciones/funciones.php');


mysql_select_db($database_obras$obras);
$query_Recordset1 "SELECT codigopais, pais FROM de_paises ORDER BY pais ASC";
$Recordset1 mysql_query($query_Recordset1$obras) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);

$paises = array();
$provincias = array();

do {
    
array_push($paises,array(
            
"value"        => $row_Recordset1["codigopais"],
            
"label"        => $row_Recordset1["pais"]
        ));
        
    
mysql_select_db($database_obras$obras);
    
$query_Recordset2 "SELECT codigopais, codigoprovincia, provincia FROM de_provincias WHERE codigopais = '".$row_Recordset1["codigopais"]."' ORDER BY provincia ASC";
    
$Recordset2 mysql_query($query_Recordset2$obras) or die(mysql_error());
    
$row_Recordset2 mysql_fetch_assoc($Recordset2);
    
$totalRows_Recordset2 mysql_num_rows($Recordset2);    
    
    do {
        
        
$provincias[$row_Recordset2["codigopais"]][] = array(
            
"value"    => $row_Recordset2["codigoprovincia"],
            
"label"    => $row_Recordset2["provincia"]
        );
        
    
    } while(
$row_Recordset2 mysql_fetch_assoc($Recordset2)); 
    
} while(
$row_Recordset1 mysql_fetch_assoc($Recordset1));


$id = isset($_POST['id'])?$_POST['id']:-1;  

if (!empty(
$provincias[$id])) {
    
$respuesta $provincias[$id];
} else {
    
$respuesta = array(
        
"value" =>    "No Existen Registros",
        
"label" =>    "No Existen Registros"
    
);
}
if(
$id > -1) {
    echo 
json_encode(  //step 4
        
array(
        
"success"        => true,
        
"dprovincias"    => $respuesta
    
));
}else{  
    echo 
json_encode(  //step 4
    
array(
        
"success"    => true,
        
"dpaises"    => $paises
    
));
}  

mysql_free_result($Recordset1);
mysql_free_result($Recordset2);

?>
__________________
http://www.solucionesrios.tk/

Visita mi Web!