Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.164.210] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Добрый день. Подскажите, как создать таблицу и вставить в нее данные, используя компонент Query.
Пишу типо так: $this->Query1->SQL ='INSERT INTO .....'; $this->Query1->???? Что ставить вместо ???. Пробовал open(), getSQL(), не работает, ошибку не выдает, но записи не добавляет. Понятно, что можно сделать без использования компонент аля mysql_query...., но интересно, как через компонент. И еще вопрос. Например в делфи, надо очищать строку SQL перед добавлением новой, здесь надо такое делать??? Если да, то как? Функции типо ...->SQL->Clear() нет. Спасибо. |
Сообщ.
#2
,
|
|
|
Это можно сделать без компонента Query. Это умеет и сам Database
$this->Database->execute('INSERT INTO .....'); |
Сообщ.
#3
,
|
|
|
Благодарю!
|
Сообщ.
#4
,
|
|
|
Появился еще вопросик. Как можно вставить в Query1($this->Query1->SQL = 'SELCET ....';) запрос и выполнить его (сделать open()) изаользуя JavaScript/jQuery. Пробовал в процедуру, например, на той же кнопке в JavaScript вставить внутрь, но он не работает. Помогите, пожалуйста.
//begin js jQuery("#Edit3").val(value); //end; <?php $this->Query1->close(); $this->Query1->SQL = 'SELECT ......... FROM db WHERE id='.$this->Edit3->Text; $this->Query1->open(); ?> |
Сообщ.
#5
,
|
|
|
ты должен передать запрос на сервер. а оттуда вернуть результат. вдето в FAQ есть пример по вызову удаленной функции.
|
Сообщ.
#6
,
|
|
|
Т.е. без перезагрузки страницы никак не получится? Данные в OpenGrid обновляются без перезагрузки страницы или это не то?
|
Сообщ.
#7
,
|
|
|
зачем перегрузка страницы? xajax в помощь
|
Сообщ.
#8
,
|
|
|
Нашел пример в Установить OpenGrid, easyGrid да и в FAQ есть что-то подобное. Написал, но не работает.
function xxx($sender, $params) { $this->Edit3->Text = $params; $this->Query2->close(); $this->Query2->SQL = 'SELECT ....'; $this->Query2->open(); } function OpenGrid1JSCellSelect($sender, $params) { ?> //begin js jQuery(document).ready(function () { var params = jQuery("#OpenGrid1").getCell(jQuery('#OpenGrid1').getGridParam('selrow'),1); alert ('val='+params); }); //end <?php echo $this->OpenGrid1->ajaxCall("xxx"); } Пробовал как и в FAQ написано, там с DBGrid1 ....ajaxCall("xxx",array(DBGrid1)); а в "xxx" = $params[0], но тоже не работает. JavaScripter лежит на форме. Может у меня AjaxScripter неправильно установился. Когда кидаю на форму, то у него иконки нет, но ошибок не пишет. Пути в файле с vcl на rpcl я заменил. Даже почему то так не работает $this->AjaxScripter1->Script = "alert('TrumPumPum');"; vicis писал, что так работает. У меня почему то не работает. Все сходится, а ребеночек не наш. При записи -> список выпадает с функциями и т.п., но по нажатию на кнопку тишина, тупо перезагружается страница без всякого алерта..... |
Сообщ.
#9
,
|
|
|
Прежде чем работать с ajax нужно
1. почитать про ajax 2. взять стандартный пример из папки примеров и убедится что он у тебя работает если не работает, то разбираться пока не заработает 3. включить отладку ajax и посмотреть что и куда отпраляется 4. убедится что в свойствах формы включено использование ajax и начни без базы переменную перечитай с сервера или ещё чего база уже потом... |
Сообщ.
#10
,
|
|
|
Цитата vicis @ Прежде чем работать с ajax нужно .... 4. убедится что в свойствах формы включено использование ajax и начни без базы переменную перечитай с сервера или ещё чего база уже потом... Вот я лошара, 4 пункт то я и не включил!!! СПАСИБО!!!! Page1->UseAjax было false. |
Сообщ.
#11
,
|
|
|
оххх....теперь вылезла другая проблема. Аякс отрабатывает, но после выполнения пропадет OpenGrid, хотя в коде, который видно в отладке, он есть.
C DBGrid такого нет глюка. Может опять какая то ошибка в скрипте...перепроверю на простом примере. Не, в простом примере с 1 кнопкой на форме и 1 OpenGrid после вып скрипта грид не отрисовывается.... И еще вопрос, который потом точно встанет. При запуске страница на денвере ругается на xajax.inc.php на строки 360 и 1305. Цитата Deprecated: Assigning the return value of new by reference is deprecated in Z:\home\teeest3.ru\www\rpcl\xajax\xajax_core\xajax.inc.php on line 360 Deprecated: Assigning the return value of new by reference is deprecated in Z:\home\teeest3.ru\www\rpcl\xajax\xajax_core\xajax.inc.php on line 1305 Нашел на одном форуме типо закоментируйте эти строки 360, 1305. Закомментировал. Ошибки нет, но и не работает (например alert). |
Сообщ.
#12
,
|
|
|
Цитата lexastik @ пропадет OpenGrid OpenGrid и ajaxCall Цитата lexastik @ страница на денвере ищи по форуму писал много раз про Денвер |
Сообщ.
#13
,
|
|
|
vicis, простите, но про ссылку не понял. Там 2 сообщения и вроде как без решения. Действительно что ли нет решения, придется использовать DBGrid?
Про Денвер читал Ваши посты сегодня. Пока оставлю, потому что в IDE работает, попозже попробую поставить все по отдельности, MySQL,appache,PHP. |
Сообщ.
#14
,
|
|
|
Цитата lexastik @ Действительно что ли нет решения здесь вроде нет решения но код открыт, так что возможно решение будет кем то найдено например был похожий глюк с TChart там влиял порядок указания модулей в заголовке странице а где то помнится нужно было выполнить функция DumpJSContext вроде при загрузке страницы... я в реальных проектах использовал все гриды, кроме этого т.к. он на мой взгляд наиболее сырой исходи из возможностей компонентов или доточи |
Сообщ.
#15
,
|
|
|
Ясно, БОЛЬШОЕ СПАСИБО! День сегодня убил прыгая с этими глюками))) Вы пишете, что использовали все гриды, и какой грид, на Ваш взгляд, более доработан для корректной работы?
|