params: { date: Ext.Date.format(date, 'Y-m-d') } в php скрипте var_dump($_POST); пустой массив принтует? |
nekto_O,
Я б Вас расцеловал :dance: Ответ пришел... var_dump($_POST); показал array(1) { ["date"]=> string(10) "2012-06-18" } Спасибо огромное, очередной раз!!! |
... как то странно, мой код тоже заработал... наверное влияние солнечной радиации)
|
handler: function(picker, date) { var date = Ext.Date.format(date, 'Y-m-d'); Ext.Ajax.request({ url: 'dget.php', //jsonData: { jdate: jdate }, //params: { date: Ext.Date.format(date, 'Y-m-d') } params: { date: date } }); } это первоначальный вариант - и работает... не пойму, что не нравилось коду 5 часов назад?.. |
=====
app.js ===== Ext.onReady(function() { var store = Ext.create('Ext.data.JsonStore', { proxy: { type: 'ajax', url: 'get.php', reader: { type: 'json' } }, fields:[ 'id', 'first_name', 'last_name', 'date' ] }); store.load(); Ext.create('Ext.panel.Panel', { style: 'margin-top: 20px; margin-left: 44%', renderTo: Ext.getBody(), border: false, items: [{ xtype: 'datepicker', maxDate: new Date(), handler: function(picker, date) { var date = Ext.Date.format(date, 'Y-m-d'); var flag = true; Ext.Ajax.request({ url: 'dget.php', params: {date: date} }); } }] }); Ext.create('Ext.grid.Panel', { width: 310, style: 'margin-top: 20px; margin-left: 40%', layout: { type:'hbox', pack:'center'}, columns:[ {dataIndex: 'id', header: 'ID', hidden: true}, {dataIndex: 'first_name', header: 'Name'}, {dataIndex: 'last_name', header: 'Surname'}, {xtype:'actioncolumn', width:20, items: [{ icon: 'extjs/resources/themes/images/default/shared/right-btn.gif', handler: function showWindow(){ if(!win){ var win = new Ext.Window({ width:500, height:300, title: 'TEST', html:'<h1>My first lightBOX </h2>', layout:'fit', bodyStyle:{'background-color': '#FFFFFF'}, modal: true }) } win.show(); } }] }, { dataIndex: 'date', header: 'Date' }], renderTo: Ext.getBody(), store: store }); }); Не могу реализовать такой алгоритм: 1)Выводиться панелька с календариком, и ждем пока я не выберу дату... 2) Если выбрал то делаем выборку по дате и вырисовуем грид с выбраными датами... Что то запутался( |
XMLHttpRequest'ом?
|
Тоесть, я то получаю данные с пхп скрипта, но стор и грид то уже отработали свое... Получается при нажатии пустой грид - что весьма логично)
|
Цитата:
store.load({ params: { ... } }); |
Вроде этого?
Ext.create('Ext.panel.Panel', { style: 'margin-top: 20px; margin-left: 44%', renderTo: Ext.getBody(), border: false, items: [{ xtype: 'datepicker', maxDate: new Date(), handler: function(picker, date) { var date = Ext.Date.format(date, 'Y-m-d'); Ext.Ajax.request({ url: 'put.php', params: {date: date} }); store.load({ // так параметры указывать? params: { id: 'id', first_name: 'first_name', last_name: 'last_name', date: 'date' } }); } }] }); |
Вот скрипт
====== put.php ====== <?php include 'conf.php'; $date = $_POST['date']; $query = "select * from patient where date='$date'"; $res = mysql_query($query); if (mysql_num_rows($res) == 0) { echo "On this day, the patients did not come!"; exit; } while ($row = mysql_fetch_assoc($res)) { $rows[] = $row; } echo json_encode($rows); mysql_close($db); ?> Он дает в ответ на обращению к нему вот такое например по дате 06-18 Код:
[{"id":"1","first_name":"Vasiliy","last_name":"Pupkin","date":"2012-06-18"},{"id":"2","first_name":"Ivan","last_name":"Ivankin","date":"2012-06-18"}] |
Часовой пояс GMT +3, время: 01:19. |