Форум русской поддержки Joomla!® CMS
11.12.2016, 17:56:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Создание запроса к базе данных

 (Прочитано 289 раз)
0 Пользователей и 1 Гость смотрят эту тему.
serrggeee
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« : 15.09.2015, 15:57:08 »

Код:
[code]
Здравствуйте изучаю Joomla 2.5 и пишу компонент по примеру в учебнике и вот какая то проблема при обращении к базе данных, я получаю эти ошибки

[code]Warning: Invalid argument supplied for foreach() in /home/p313923/public_html/dom2/libraries/joomla/database/database/mysql.php on line 383

Warning: Invalid argument supplied for foreach() in /home/p313923/public_html/dom2/libraries/joomla/database/database/mysql.php on line 383

Warning: Invalid argument supplied for foreach() in /home/p313923/public_html/dom2/libraries/joomla/database/table.php on line 409
вот собственно функция обращения
Код:
<?php defined('_JEXEC') or die('Restricted access');
$option = JRequest::getVar('option');
$task = JRequest::getVar('task');
require_once (JApplicationHelper::getPath('admin_html'));
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables') ;
switch($task) {
    case 'reply':
        replyToQuestion($option);
        break;
    default:
        break; }
function replyToQuestion($option)
{
    $row =& JTable::getInstance('Question','Table');
    $cid = JRequest::getVar('cid', array(0), '',
            'array');
    $id = $cid[0];
    $row->load($id);
    print_r($row);
    HTML_questions::replyToQuestion($row, $option); } ?>
обращаюсь по этому адресу index.php?option=com_myquestions&task=reply&cid[]=1
следовательно работает функция replyToQuestion
если сделать print_r($row) то получаю масив не с данными в таблице а обращения к разным функциям.
Это функция модели
[/code]
<?php
defined('_JEXEC') or die('Restricted access');
class TableQuestion extends JTable
{
    var $id = null;
    var $name = null;
    var $date = null;
    var $question = null;
    var $city = null;
    var $email = null;
    var $IP = null;
    var $id_cat = null;
    var $published = null;
    var $expiration_date = null;
    var $senttoexpert = null;
    var $answer = null;
    var $senttoauthor = null;
    function __construct(& $db)
    {
        parent::__construct('#__myquestions', 'id', $db);
    }
}
?>
[/code]
Что я мог напутать?
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #1 : 15.09.2015, 16:07:15 »

1. Вы напутали с версией Joomla у вас Joomla 1.5 стиль кода, а юзаете 2.5..
2. Посмотрите что у вас в $cid
Записан
serrggeee
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #2 : 15.09.2015, 17:18:00 »

Код:
[code]
Array (
  • => 1 )
  • [/code]
Записан
serrggeee
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #3 : 15.09.2015, 17:19:11 »

Код:
Array ( [0] => 1 )
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #4 : 16.09.2015, 14:06:54 »

Попробуйте так:
Код
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
$option = JRequest::getVar( 'option' );
$task = JRequest::getVar( 'task' );
require_once( JApplicationHelper::getPath( 'admin_html' ) );
 
class TableQuestion extends JTable
{
public function __construct( & $db )
{
parent::__construct( '#__myquestions', 'id', $db );
}
}
 
switch ( $task ) {
case 'reply':
replyToQuestion( $option );
break;
default:
break;
}
function replyToQuestion( $option )
{
$db = JFactory::getDbo();
$table = new TableQuestion($db);
$cid = JRequest::getVar( 'cid', array( 0 ), '', 'array' );
$table->load( $cid[0] );
print_r( $table);
HTML_questions::replyToQuestion( $table, $option );
}
 
?>
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet