Вывод директории с заданым условием - RS Form!

Тема в разделе "Формы", создана пользователем kot488, 08.09.2017.

  1. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Использую на сайте компонент rsform pro.
    В директории возможно вывести или же все отправленные данные или только свои.
    У меня у кажого пользователя есть в профиле поле mb3, и в каждую форму подставляется в поле mb3 подставляется значение этого поля.
    Подскажите пожалуйста как можно вывести все отправленные данные в которых поле mb3 = значению mb3 у текущего авторизированого пользователя?
     
  2.  
  3. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
  4. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Это на единоразовой основе, а нужно на постоянной(

    Есть уже мысль написать запрос к бд, но получается или вывести все или по определенному условия фильтр сделать, а нужно динмамический фильтр
     
  5. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
  6. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Это свои внутренние данные. Когда пользователь заполняет форму, автоматически с данных пользователя подтягиваются его данные.
    Форма на отправку посылки от одного пользователя другому. Пользователь зашел, его данные подтянулись, он выбирает кому отправляет и так же выбирает уникальное поле mb3 получателя. При нажатии на кнопку отправить вся заявка пишется в таблицу. И вот нужно вывести все заявки которые пользователь отправил, и так же заявки которые отправили ему. Из-за этого и привязан к полю mb3. Это поле как логин или id пользователя. Средствами php получается вывести на пустую страницу все данные. На страницу жумла вывести не получается. Может есть какой то модуль для вывода данных по условия с MySQL?
     
  7. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
    Средствами php получается вывести на пустую страницу все данные.

    https://www.regularlabs.com/extensions/sourcerer/faqs#how-to-include-a-file


    Код (CODE):
    1. How to include a file
    2.  
    3. Including a php file
    4.  
    5. 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.
    6. Then you can simply include the file with a single line through Sourcerer.
    7.  
    8. Example PHP file:
    9. www.yourdomain.com/myfiles/file.php
    10.  
    11. {source file=myfiles/file.php}{/source}
    12. 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:
    13.  
    14. {source file=myfiles/file.php}<?php
    15.    echo '<div class="mydiv">' . $var_from_file . '</div>';
    16. ?>{/source}
    17. 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:
    18.  
    19. {source}<?php
    20.    require_once JPATH_SITE.'/myfiles/file.php';
    21. ?>{/source}
    22. include/require vs require_once
    23.  
    24. 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.
    25. If your php file creates classes / functions, having it included more than once will cause errors like "Cannot redeclare class".
    26.  
    27. Setting variables for a php file
    28.  
    29. If you want to set variables that are used in the php file, you can simply set them before the require/include, like:
    30.  
    31. {source}<?php
    32.    $name = 'Peter';
    33.    $surname = 'van Westen';
    34.    $interests = array( 'small fluffy things', 'green cantaloupe', 'toothpaste', '9V batteries' );
    35.    require_once JPATH_SITE.'/myfiles/file.php';
    36. ?>{/source}
     
  8. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Вот мой файл подключения
    Код (CODE):
    1. <?php
    2. $sdd_db_host='localhost'; // ваш хост
    3. $sdd_db_name='*'; // ваша бд
    4. $sdd_db_user='*'; // пользователь бд
    5. $sdd_db_pass='*'; // пароль к бд
    6. $conn = mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); // коннект с сервером бд
    7. mysql_query("SET NAMES 'utf8'");
    8. mysql_query("SET CHARACTER SET 'utf8'");
    9. mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");
    10. if(!$conn)
    11. {
    12.     throw new Exception('Не удалось подключиться к базе данных! Проверьте параметры подключения');
    13. }
    14. if(!mysql_select_db($sdd_db_name, $conn)) // выбор бд
    15. {
    16.     throw new Exception("Не удалось выбрать базу данных {$ssd_db_name}!");
    17. }
    18. $result = mysql_query('SELECT * FROM `ldo56_zayavki_upakovka`', $conn); // запрос на выборку
    19. if(!$result)
    20. {
    21.     throw new Exception(sprintf('Не удалось выполнить запрос к БД, код ошибки %d, текст ошибки: %s', mysql_errno($conn), mysql_error($conn)));
    22. }
    23.  
    24. while($row = mysql_fetch_array($result))
    25. {
    26.     echo '<p>Тип отделения='.$row['tipotdeleniya'].'. Область: '.$row['region'].'. Область: '.$row['cyti'].'</p>';// выводим данные
    27. }
    28. ?>


    На странице joomla полуяаю вот эту строку, наверно по другому должен быть запрос
    Тип отделения='.$row['tipotdeleniya'].'. Область: '.$row['region'].'. Область: '.$row['cyti'].'</p>';// выводим данные
    }
    ?>
    --- добавлено: 09.09.2017, первое сообщение размещено: 09.09.2017 ---
    Получил данные, только по всех пользователям, теперь бы еще понять как сделать отбор именно по тому который по ссылке перешел
     
  9. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
    Код (CODE):
    1. define('_JEXEC', 1);
    2. define('DS', DIRECTORY_SEPARATOR);
    3. if (file_exists(dirname(__FILE__) . '/defines.php')) {
    4. include_once dirname(__FILE__) . '/defines.php';
    5. }
    6. if (!defined('_JDEFINES')) {
    7. define('JPATH_BASE', dirname(__FILE__));
    8. require_once JPATH_BASE.'/includes/defines.php';
    9. }
    10. require_once JPATH_BASE.'/includes/framework.php';
    11. $app = JFactory::getApplication('site');
    12. JBZoo::init();
    13. JFactory::getApplication('site')->initialise();


    Так joomla подключается по API

    В Вашем случае - могу сказать, делайте WHERE условие в SQL
     
  10. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    В запросе where статика в основном, у меня 1000 пользователей, это 1000 страниц . Попробую разобраться может получится динамический запрос, вытащив и подставив нужное поле в where
     
  11. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
    конечно

    Код (CODE):
    1. $user = JFactory::getUser();
    2. echo $user->id;


    http://jedir.ru/joomla-3/scripts/22-rabota-s-ob-ektom-polzovatelya-v-joomla-3
     
  12. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Читал за это, сейчас с телефона, нет возможности пробовать. Только вместо id ставить мое mb3, правильно?
     
  13. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
    согласно Вашему ТЗ :cool:
     
  14. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Спасибо. Буду пробовать
    --- добавлено: 12.09.2017, первое сообщение размещено: 11.09.2017 ---
    Подкажите пожалуйста, запрос в 3 версии joomla долженже начинаться с
    $db = JFactory::getDbo();
    $query = $db->getQuery(true);

    Эта информация вроде с 1.6, может изза не правильного запроса нечего не получается(
     
  15. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
    Вот пример:

    Код (CODE):
    1. // function getCat($id) {
    2. //     $db = JFactory::getDBO();
    3. //     $query = $db->getQuery(true);
    4. //     $query->select('COUNT(category_id)');
    5. //     $query->from($db->quoteName(ZOO_TABLE_CATEGORY_ITEM));
    6. //     $query->where($db->quoteName('category_id') . ' = '.$id);
    7. //     $db->setQuery($query);
    8. //     $res = $db->loadResult();
    9. //     echo $res;
    10. // }
     
  16. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Это вывод товара с таблицы с отбором по ID категории, правильно?
     
  17. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
    скорее вывод кол-ва айтемов в категории (count)
     
  18. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Так выводит номер строки последней

    Вот так вывело все данные, как теперь можно построить запрос по текущему пользователю? Подскажите пожалуйста

    Код (CODE):
    1. {source}
    2. <?php
    3. $user = JFactory::getUser();
    4. echo $user->mb3; //Значение поля пользователя
    5.  
    6. $db = JFactory::getDbo(); // получаем инфу о базе
    7. $query = $db->getQuery(true); // готовим новый запрос
    8. $query->select('region, cyti, adress'); // название колонок в таблице БД
    9. $query->from('#__zayavki_upakovka'); // из какой таблицы выбираем
    10. $query->where('region = region'); // условие для выборки
    11. $db->setQuery($query); // выполняем SQL-запрос
    12. $list = $db->loadObjectList(); // грузим результат
    13.  
    14. foreach($list as $item){
    15.         echo $item->region."<br />";
    16.         echo $item->cyti."<br />";
    17.         echo $item->adress."<br />";
    18. }
    19.             ?>
    20. {/source}
     
    Последнее редактирование: 12.09.2017
  19. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
  20. kot488
    Offline

    kot488 Недавно здесь

    Регистрация:
    08.09.2017
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской
    Пока нет, не пойму как теперь указать условие с текущем значением у пользователя поля MB3
     
  21. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума ⇒ Профи ⇐

    Регистрация:
    21.05.2010
    Сообщения:
    2 604
    Симпатии:
    320
    Пол:
    Мужской
    Код (CODE):
    1. $user = JFactory::getUser();
    2. echo $user->id;


    получаете текущего юзера и в запрос
     

Поделиться этой страницей

Загрузка...