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, время: 21:44. |