17/11/2010, 13:26
|
| | Fecha de Ingreso: diciembre-2008 Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 16 años 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);
?> |