Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > PHP + ExtJS


Автор: evilelf 21.3.2010, 15:34
Есть функция 

Код

function showWindow(client_name, company_name)
    {
        var win = new Ext.Window({
        title: 'Информация о клиенте',
        html: out,
        layout:'fit',
        width:500,
        height:300,
        resizable:false,

        buttons: [{
            text: 'Закрыть',
            handler: function(){win.hide();}
                }]
        });
        win.show();
    }



При её вызове появляется окошко с заголовком title и информацией внутри окна (HTML-текст) out.Эта функция вызывается при клике на строку таблицы, которая рисуется с помощью сабжевого фреймворка, и принимает два параметра.Нужно сделать запрос в БД с этими параметрами, обработать результат (добавить теги и прочие навороты) и записать в переменную out.Собственно, как это сделать?Пробовал инклюдить пхп-код, который генерирует содержимое, в джава-код, успехи достигнуты были лишь со статическими значениями параметров запроса.С аяксом тоже как то не заладилось.Собственно, вопрос: как это реализовать?Либо инклюдом с передачей параметров в пхп-код, либо вызовом пхп-функции, записанной где то ниже, либо ещё как то...

Автор: bars80080 21.3.2010, 21:04
а в чём проблема? у вас обращение к серверу каким образом происходит?

Автор: evilelf 21.3.2010, 21:34
Проблема в том, что я незнаю, как передать в пхп-функцию два параметра и отдать в переменную out обработанные данные.Опишу сам процесс: 
нажимаем на строке таблицы -> вызывается вышеописанная функция, в которую передаётся два параметра -> эти параметры записываются в sql-запрос, он выполняется, получаем результаты, обрабатываем их и сохраняем в переменную out -> открывается окно с содержимым переменной out.Как это сделать?

Автор: evilelf 22.3.2010, 02:54
Update:
Вопрос решился, путём биения в бубен и воздаяния молитв ктулху:

Код

function showWindow(client_name)
    {
        var conn = new Ext.data.Connection();
        conn.request({
        url: 'test_data.php',
        method: 'POST',
        params: {"client_name": client_name},
        success: function(responseObject) {
          var win = new Ext.Window({
          title: 'Информация о клиенте',
          html: responseObject.responseText,
          layout:'fit',
          width:500,
          height:300,
          resizable:false,

          buttons: [{
               text: 'Закрыть',
               handler: function(){win.hide();}
                    }]
          });
          win.show();

    }
});
    
    }


Код


$client_name = iconv("UTF-8", "WINDOWS-1251", $_REQUEST['client_name']); - изменение кодировки для запроса к БД (важно)
$query = "запрос, с участием переменной $client_name  ";
$result = mysql_query($query);
while($row_result = mysql_fetch_assoc($result))
{
             обработка объекта
}
        
 echo вывод строки, которая будет отображаться в окошке



ОБЯЗАТЕЛЬНО обращайте внимание на кодировки передаваемых значений....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)