Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Jinput, ajax и id материала

Jinput, ajax и id материала 9 мес. 3 нед. назад #11480

  • kotsa1985
  • kotsa1985 аватар
  • Не в сети
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Всем привет, эксперементирую..
Задача: при клике пользователем по кнопке обновить значение (+1) самой кнопки и соответствующее значение в БД без перезагрузки страницы.
Вывод пользовательский - seb_minima.
Mainbody.php
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#rbut").click(function(){
 
        $("#rbut").load("../templates/seb_minima/positions/Article/content/ajax.php");
    });
});
</script>
</head>
<body>
<?php
    $id= JFactory::getApplication()->input->getInt('id');
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->select($db->quoteName('art_rating'))
        ->from($db->quoteName('#__cck_store_item_content'))
        ->where($db->quoteName('id') . ' = ' . $id);
    $db->setQuery($query);
    $result = $db->loadResult();
 
?>
<button id="rbut" class="uk-button uk-button-primary" name="but" type="buttom"><?php echo $result; ?></button>
 
<div id="flash"></div>
<div id="my">Вывод:</div>
<div id="display"></div>
</body>
</html>

ajax.php
<?php
 
define( '_JEXEC', 1 );
if ( file_exists( __DIR__ . '/defines.php' ) ) {
    include_once __DIR__ . '/defines.php';
}
if ( !defined( '_JDEFINES' ) ) {
define( 'JPATH_BASE', __DIR__ . '/../../../../../' );
    require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_BASE . '/includes/framework.php';
 
//Тут мы уже можем использовать API Joomla Framework
$id= JFactory::getApplication()->input->getInt('id');
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);
    $query->select($db->quoteName('art_rating'))
        ->from($db->quoteName('#__cck_store_item_content'))
        ->where($db->quoteName('id') . ' = ' . $id);
    $db->setQuery($query);
    $rait = $db->loadResult()+1;
 
    $query->update($db->quoteName('#__cck_store_item_content'))
        ->set($db->quoteName('art_rating').'='.$rait)
        ->where($db->quoteName('id') . ' = ' . $id);
$db->setQuery($query)
    ->execute();
 
echo $rait;
?>

Проблема: в ajax.php не работает конструкция - $id= JFactory::getApplication()->input->getInt('id');
ВОПРОС: как получить значение переменной $id в ajax.php? (либо передать его из mainbody.php и принять в ajax.php)?
Администратор запретил публиковать записи гостям.
Модераторы: KKAAZZOO

roundtheme