Por ejemplo, si consulto por el nombre "perez", la consulta al script php la efectua, devuelve lo siguiente:
({ totalCount: "2", results: [{"doc":"12345678","apellido":"Perez","nombre":"Juan","domicilio":"Caucete"},{"doc":"34567","apellido":"Perez","nombre":"Alberto","domicilio":"Ruta 20"}]})
El combo despliega el mensaje "Buscando..." y ahi se queda, sin mostrar los resultados.
deskME-main.js
- Código: Seleccionar todo
Ext.onReady(function(){
var ds = new Ext.data.Store({
proxy: new Ext.data.ScriptTagProxy({
//url: 'http://extjs.com/forum/topics-remote.php'
url: 'deskME-main-remote.php'
}),
reader: new Ext.data.JsonReader({
root: 'results',
totalProperty: 'totalCount',
id: 'doc'
}, [
{name: 'doc', mapping: 'doc'},
{name: 'apellido', mapping: 'apellido'},
{name: 'nombre', mapping: 'nombre'},
{name: 'domicilio', mapping: 'domicilio'}
])
});
// Custom rendering Template
var resultTpl = new Ext.XTemplate(
'<tpl for="."><div class="search-item">',
'<h3><span><br />DNI {doc}</span>{apellido}, {nombre}</h3>',
'{domicilio}',
'</div></tpl>'
);
var search = new Ext.form.ComboBox({
store: ds,
displayField:'doc',
typeAhead: false,
loadingText: 'Buscando...',
width: 570,
pageSize: 10,
mode: 'remote',
hideTrigger:true,
tpl: resultTpl,
applyTo: 'search',
itemSelector: 'div.search-item',
onSelect: function(record){ // override default onSelect to do redirect
//window.location =
// String.format('http://extjs.com/forum/showthread.php?t={0}&p={1}', record.data.topicId, record.id);
}
});
});
del lado del server:
- Código: Seleccionar todo
<?php
require('../../system/lib/conexion_db.php');
$q = "SELECT doc, apellido, nombre, domicilio FROM hospital_pacientes WHERE apellido LIKE '%".$_GET['query']."%'";
//echo $q;
$result = mysql_query($q);
$nbrows = mysql_num_rows($result);
$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
$limit = $q." LIMIT ".$start.",".$end;
$result = mysql_query($limit);
//echo $q;
$arr=array();
if($nbrows>0){
while($rec = mysql_fetch_array($result)){
array_push($arr, array(doc=>$rec[0], apellido=>$rec[1], nombre=>$rec[2], domicilio=>$rec[3]));
}
$jsonresult = JEncode($arr);
echo '({ totalCount: "'.$nbrows.'", results: '.$jsonresult.'})';
} else {
echo '({ totalCount: "0", results: ""})';
}
// Encodes a SQL array into a JSON formated string
function JEncode($arr){
if (version_compare(PHP_VERSION,"5.2","<"))
{
require_once("./JSON.php"); //if php<5.2 need JSON class
$json = new Services_JSON();//instantiate new json object
$data=$json->encode($arr); //encode the data in json format
} else
{
$data = json_encode($arr); //encode the data in json format
}
return $data;
}
// Encodes a YYYY-MM-DD into a DD-MM-YYYY string
function codeDate ($date) {
$tab = explode ("-", $date);
$r = $tab[1]."/".$tab[2]."/".$tab[0];
return $r;
}
?>
Alguien me da una mano? Gracias!


