Использую на сайте компонент rsform pro. В директории возможно вывести или же все отправленные данные или только свои. У меня у кажого пользователя есть в профиле поле mb3, и в каждую форму подставляется в поле mb3 подставляется значение этого поля. Подскажите пожалуйста как можно вывести все отправленные данные в которых поле mb3 = значению mb3 у текущего авторизированого пользователя?
Это на единоразовой основе, а нужно на постоянной( Есть уже мысль написать запрос к бд, но получается или вывести все или по определенному условия фильтр сделать, а нужно динмамический фильтр
Это свои внутренние данные. Когда пользователь заполняет форму, автоматически с данных пользователя подтягиваются его данные. Форма на отправку посылки от одного пользователя другому. Пользователь зашел, его данные подтянулись, он выбирает кому отправляет и так же выбирает уникальное поле mb3 получателя. При нажатии на кнопку отправить вся заявка пишется в таблицу. И вот нужно вывести все заявки которые пользователь отправил, и так же заявки которые отправили ему. Из-за этого и привязан к полю mb3. Это поле как логин или id пользователя. Средствами php получается вывести на пустую страницу все данные. На страницу жумла вывести не получается. Может есть какой то модуль для вывода данных по условия с MySQL?
Средствами php получается вывести на пустую страницу все данные. https://www.regularlabs.com/extensions/sourcerer/faqs#how-to-include-a-file Код (CODE): How to include a file Including a php file When using large pieces of php code, or you want to reuse the same piece of code in multiple places. it is wise to put this code in a separate php file. Then you can simply include the file with a single line through Sourcerer. Example PHP file: www.yourdomain.com/myfiles/file.php {source file=myfiles/file.php}{/source} You can also place php inside the tags. For instance, if you set variables inside the php file, you can use/manipulate them further in the php block: {source file=myfiles/file.php}<?php echo '<div class="mydiv">' . $var_from_file . '</div>'; ?>{/source} This will simply include the file. If you have a php file with classes and functions in it, you will get issues when including the file more than once. In that case it is better to use php to only make in include/require the file once: {source}<?php require_once JPATH_SITE.'/myfiles/file.php'; ?>{/source} include/require vs require_once You can also use 'include' (or 'require') instead of 'require_once', but only use that if you need the file included more than once on your page. If your php file creates classes / functions, having it included more than once will cause errors like "Cannot redeclare class". Setting variables for a php file If you want to set variables that are used in the php file, you can simply set them before the require/include, like: {source}<?php $name = 'Peter'; $surname = 'van Westen'; $interests = array( 'small fluffy things', 'green cantaloupe', 'toothpaste', '9V batteries' ); require_once JPATH_SITE.'/myfiles/file.php'; ?>{/source}
Вот мой файл подключения Код (CODE): <?php $sdd_db_host='localhost'; // ваш хост $sdd_db_name='*'; // ваша бд $sdd_db_user='*'; // пользователь бд $sdd_db_pass='*'; // пароль к бд $conn = mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); // коннект с сервером бд mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); mysql_query("SET SESSION collation_connection = 'utf8_general_ci'"); if(!$conn) { throw new Exception('Не удалось подключиться к базе данных! Проверьте параметры подключения'); } if(!mysql_select_db($sdd_db_name, $conn)) // выбор бд { throw new Exception("Не удалось выбрать базу данных {$ssd_db_name}!"); } $result = mysql_query('SELECT * FROM `ldo56_zayavki_upakovka`', $conn); // запрос на выборку if(!$result) { throw new Exception(sprintf('Не удалось выполнить запрос к БД, код ошибки %d, текст ошибки: %s', mysql_errno($conn), mysql_error($conn))); } while($row = mysql_fetch_array($result)) { echo '<p>Тип отделения='.$row['tipotdeleniya'].'. Область: '.$row['region'].'. Область: '.$row['cyti'].'</p>';// выводим данные } ?> На странице joomla полуяаю вот эту строку, наверно по другому должен быть запрос Тип отделения='.$row['tipotdeleniya'].'. Область: '.$row['region'].'. Область: '.$row['cyti'].'</p>';// выводим данные } ?> --- добавлено: Sep 9, 2017, первое сообщение размещено: Sep 9, 2017 --- Получил данные, только по всех пользователям, теперь бы еще понять как сделать отбор именно по тому который по ссылке перешел
Код (CODE): define('_JEXEC', 1); define('DS', DIRECTORY_SEPARATOR); if (file_exists(dirname(__FILE__) . '/defines.php')) { include_once dirname(__FILE__) . '/defines.php'; } if (!defined('_JDEFINES')) { define('JPATH_BASE', dirname(__FILE__)); require_once JPATH_BASE.'/includes/defines.php'; } require_once JPATH_BASE.'/includes/framework.php'; $app = JFactory::getApplication('site'); JBZoo::init(); JFactory::getApplication('site')->initialise(); Так joomla подключается по API В Вашем случае - могу сказать, делайте WHERE условие в SQL
В запросе where статика в основном, у меня 1000 пользователей, это 1000 страниц . Попробую разобраться может получится динамический запрос, вытащив и подставив нужное поле в where
конечно Код (CODE): $user = JFactory::getUser(); echo $user->id; http://jedir.ru/joomla-3/scripts/22-rabota-s-ob-ektom-polzovatelya-v-joomla-3
Читал за это, сейчас с телефона, нет возможности пробовать. Только вместо id ставить мое mb3, правильно?
Спасибо. Буду пробовать --- добавлено: Sep 12, 2017, первое сообщение размещено: Sep 11, 2017 --- Подкажите пожалуйста, запрос в 3 версии joomla долженже начинаться с $db = JFactory::getDbo(); $query = $db->getQuery(true); Эта информация вроде с 1.6, может изза не правильного запроса нечего не получается(
Вот пример: Код (CODE): // function getCat($id) { // $db = JFactory::getDBO(); // $query = $db->getQuery(true); // $query->select('COUNT(category_id)'); // $query->from($db->quoteName(ZOO_TABLE_CATEGORY_ITEM)); // $query->where($db->quoteName('category_id') . ' = '.$id); // $db->setQuery($query); // $res = $db->loadResult(); // echo $res; // }
Так выводит номер строки последней Вот так вывело все данные, как теперь можно построить запрос по текущему пользователю? Подскажите пожалуйста Код (CODE): {source} <?php $user = JFactory::getUser(); echo $user->mb3; //Значение поля пользователя $db = JFactory::getDbo(); // получаем инфу о базе $query = $db->getQuery(true); // готовим новый запрос $query->select('region, cyti, adress'); // название колонок в таблице БД $query->from('#__zayavki_upakovka'); // из какой таблицы выбираем $query->where('region = region'); // условие для выборки $db->setQuery($query); // выполняем SQL-запрос $list = $db->loadObjectList(); // грузим результат foreach($list as $item){ echo $item->region."<br />"; echo $item->cyti."<br />"; echo $item->adress."<br />"; } ?> {/source}