Вот думаю сегодня с утра засяду и что нибудь получится. Просидел 4 часа...не получилось.
Запрос сократил до минимум в итоге получилось :
$query = "SELECT DATE_FORMAT (mydate, '%d.%m') AS prom FROM #__tab1";
$database->setQuery( $query );
$result = $database->query();
В дебагере получается :
SELECT DATE_FORMAT (mydate, '%d.%m') AS prom FROM jos_tab1
Вставляю все это в pma все прекрасно работает. Однако в ядре ни в какую, на странице такая ошибка:
Notice: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(mydate, '%d.%m') AS prom FROM jos_tab1' at line 1 in c:\appserv\www\19\includes\database.php on line 296
296 строка в database.php у меня это (в коде отмечено -------):
function query() {
global $mosConfig_debug;
if ($this->_debug) {
$this->_ticker++;
$this->_log[] = $this->_sql;
}
if ($this->_limit > 0 || $this->_offset > 0) {
$this->_sql .= "\nLIMIT $this->_offset, $this->_limit";
}
$this->_errorNum = 0;
$this->_errorMsg = '';
$this->_cursor = mysql_query( $this->_sql, $this->_resource );
if (!$this->_cursor) {
$this->_errorNum = mysql_errno( $this->_resource );
$this->_errorMsg = mysql_error( $this->_resource )." SQL=$this->_sql";
if ($this->_debug) {
---------- trigger_error( mysql_error( $this->_resource ), E_USER_NOTICE ); ---------
//echo "<pre>" . $this->_sql . "</pre>\n";
if (function_exists( 'debug_backtrace' )) {
foreach( debug_backtrace() as $back) {
if (@$back['file']) {
echo '<br />'.$back['file'].':'.$back['line'];
}
}
}
}
return false;
}
return $this->_cursor;
}
Пока делаю вывод что ядро не может работать с такими запросами. Наверно не зря придумана функция mosFormatDate. Может есть какие нибудь еще варианты?
По поводу объединения. Сделаю наверно два запроса и два цикла. Я наверное выразился не правильно по поводу идентичности таблиц. Таблицы идентичны только в названиях полей, а количество строк там модет быть разным и информация тоже разная. Я пробовал объединять по примеру SELECT * FROM table1,table2 WHERE table1.id=table2.id; Так вот объединились только только те у которых id одинаково. Даже если я создам еще столбец уникальный, а в таблицах будет разное количество строк, то они не объединятся корректно. Или я не правильно мыслю? Или быть может можно както по другому объединить? Общая схема работы будет таковой запрос из двух таблиц кладется в одну таблицу. Таблица сортируется по столбцам, кликая на заголовки. И у каждой строки есть поле подробнее, кликая на него юзер переносится на страницу с подробным описанием этого поля. Ссылки эти зависят от id у каждой строки есть свой id, вот по ним и отличаются ссылки подробнее. Я про то что даже и ума не приложу как объединить так чтобы при клике на подробнее юзеру открывался именно тот вариант, а то я подозреваю если id в одной таблице совпадет с id в другой таблице, то юзеру выведутся два варианта. Вот по этому хочу сделать два запроса и два цикла, а на результатах просто буду строить две ссылки подробнее. Если можно как-то проще, то подскажите. Заранее благодарен!
PS. To userxp ... Вам +