Foro

ayuda en consulta y busqueda

0
buenas tardes, saludo a toda la comunidad quizzpot, y quiero presentar la duda que tengo, estoy realizando un formulario de busqueda, y que presente los datos en en una grid. mi duda es que no se como llamar los datos y que tanto mi js y php funcionen con datos de mi base de datos. tengo un ejemplo donde cargo los datos en un array pero si alguien me puede guiar para poder traer los datos de mi BD y mostrarlos en la grid y que al darle search muestre el dato. Ext.ns('com.quizzpot.tutorial'); com.quizzpot.tutorial.SeriesTutorial = { init: function(){ var proxy = new Ext.data.HttpProxy({ url: 'prueba.php', method: 'post' }); var dstore = new Ext.data.JsonStore({ url: 'prueba.php', proxy: proxy, fields: ['idusuario', 'nombre_usuario'], totalProperty: 'totalCount', root: 'matches' }); dstore.load(); var tabla = new Ext.grid.GridPanel({ store: dstore, columns: [ new Ext.grid.RowNumberer(), {id:'idusuario', header: "idusuario", sortable: true, dataIndex: 'idusuario'}, {id: 'nombre_usuario', header: "nombre_usuario", sortable: true, dataIndex: 'nombre_usuario'} ], border: false, stripeRows: true }); var search = new Ext.FormPanel({ labelWidth: 150, frame:true, // title: 'Search Demo Data', //bodyStyle:'padding:15px 10px 20px', // width: 500, //defaults: {width: 230}, defaultType: 'textfield', items: [{ fieldLabel: 'Buscar', name: 'pattern', id: 'pattern' }], buttons: [{ text: 'Search', handler: function() { dstore.load({ params: { pattern: document.getElementById('pattern').value }}); } }] }); var panel1 = new Ext.Panel({ xtype:'panel', title:'Buscador', layout: 'fit', region:'center', height:80, split:true, //collapsible:true, items: search }); var panel2 = new Ext.Panel({ xtype:'panel', title:'Tabla de datos', layout: 'fit', region:'south', height:400, split:true, collapsible:true, items: tabla }); var win = new Ext.Window({ title: 'Buscar Usuario', layout: 'border', //maximizable:true, width: 990, height:550, items: [panel2,panel1] }); win.show(); }, customFormat:function(value){ return ''+value; } } Ext.onReady(com.quizzpot.tutorial.SeriesTutorial.init,com.quizzpot.tutorial.SeriesTutorial); y este es el archivo php 1, 'nombre_usuario' => 'diego'), Array('idusuario'=>2, 'nombre_usuario' => 'fernando'), Array('idusuario'=>3, 'nombre_usuario' => 'carlos'), Array('idusuario'=>4, 'nombre_usuario' => 'luis') ); $matches = Array(); if(!isset($_REQUEST['pattern']) || $_REQUEST['pattern'] == '') { $matches = $items; } else { foreach ($items as $item) { if (eregi($_REQUEST['pattern'], $item['nombre_usuario'])) { $matches[] = $item; } } } echo json_encode(Array('totalCount' => count($matches), 'matches' => $matches ) ); ?>
0
quiero mostrar como solucione el crea un buscador Ext.ns('com.quizzpot.tutorial'); com.quizzpot.tutorial.GridFormTutorial = { init: function(){ var proxy = new Ext.data.HttpProxy({ url: 'buscar_usuario.php', method: 'post' }); var store = new Ext.data.JsonStore({ url: 'buscar_usuario.php', proxy: proxy, root: 'data', totalProperty: 'total', fields: ['usr_id', 'usr_username', 'usr_password', 'permiso', 'nombre_central', 'usr_name', 'usr_lastname', 'usr_address', 'usr_phone', 'usr_mail' ] }); store.load(); var pager = new Ext.PagingToolbar({ store: store, // codigo php $control) { echo "{success:false, errors: { razon: 'ya existe un registro con ese correo o usuario' }}";; }else { $result2= mysql_query("SELECT users.usr_id, users.usr_username, users.usr_password, users.usr_mail, users.usr_name, users.usr_lastname, users.usr_address, users.usr_phone, users.usr_central, users.permiso, central.nombre_central FROM users,central WHERE central.idcentral = users.usr_central AND usr_username LIKE '%$buscar%'"); $data = array(); while($row = mysql_fetch_array($result2)) { //vas agregando los resultados al array "data" array_push($data,array( "usr_id" => $row["usr_id"], "usr_username" => $row["usr_username"], "usr_password" => $row["usr_password"], "permiso" => $row["permiso"], "nombre_central"=> $row["nombre_central"], "usr_name" => $row["usr_name"], "usr_lastname" => $row["usr_lastname"], "usr_address" => $row["usr_address"], "usr_phone" => $row["usr_phone"], "usr_mail" => $row["usr_mail"] )); } $paging = array( 'success'=>true, 'total'=>count($data), 'data'=> array_splice($data,$start,$limit) ); echo json_encode($paging); } ?> dejo una imagen de la solución que logre, si alguien quiere realizar una sugerencia o ayudarme a mejorarlo bienvenido sea. :)
0
Que bien que lo has resuelto y gracias por conpartir la solución a más de uno le será de gran ayuda. Una sugerencia, cuando haces el query para la búsqueda introduces la variable "$buscar" dentro del query sin siquiera limpiarla o filtrarla, al hacer eso que tienes estas creando un terrible problema de seguridad ya que cualquier persona podría escribir SQL y ejecutarlo en tu base de datos, a eso de le denomina SQL Injection, también deberías filtrar la variable antes de guardarla para evitar ataques XSS. Te recomiendo buscar soluciones en internet a lo que te he comentado, existean algunas librerías para PHP que te facilitan el trabajo. Saludos
0
Crysfel gracias por tu ayuda si algo e seguido son todos los ejemplos de quizzpot asi que gracias, fijate que tengo lo siguiente quiero hacer un simple buscador que cuando yo digite me lo muestre en la grid si la busqueda es correcta. tengo el siguiente codigo php pero pues no se como hacer para que tome la variable buscar y lo muestre en la grid $row["usr_id"], "usr_username" => $row["usr_username"], "usr_password" => $row["usr_password"], "permiso" => $row["permiso"], "nombre_central"=> $row["nombre_central"], "usr_name" => $row["usr_name"], "usr_lastname" => $row["usr_lastname"], "usr_address" => $row["usr_address"], "usr_phone" => $row["usr_phone"], "usr_mail" => $row["usr_mail"] )); } $paging = array( 'success'=>true, 'total'=>count($data), 'data'=> array_splice($data,$start,$limit) ); echo json_encode($paging); ?>
0
Tendrías que usar SQL para traer la información de la base de datos, te dejo un tutorial de como desplegar la información desde la base de datos. http://www.quizzpot.com/2010/10/crud-de-un-catalogo-de-contactos/ Saludos

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.