Skip to forum content

PunBB.INFO

PunBB Forum. Extensions, Styles, Themes, Hooks, Mods and others Solutions

MultiEnter

PanBB_1.4.5_Download Russian_1.4.4 Convert_to_PunBB Update_PunBB_to_1.4.4

Post new reply

Post new reply

Compose and post your new reply

You may use: BBCode Images Smilies

All fields with bold label must be completed before the form is submitted.

Required information for guests


Required information
:) :( ;) :jokingly: :D :rofl: :P %) :yes: :cool: :crasy: :scratch: :thumbsup: :shock: :no: :pardon: :ok: :help: :wall: :write: :yahhoo: :blush: :hi: :bravo: :dance: :dontknow: :stop: :cray: :sorry: :-/ :-X :tired: :acute: :music: :bye: :moo:

Topic review (newest first)

2

Ну и последний штрих, файл откуда и будем тянуть запросы, т.е. список тем.
Итак содержимое файла

<?php 
//укажите правильно относительный путь!!!
if (!defined('FORUM_ROOT')) define('FORUM_ROOT', '../../../');

define('FORUM_SKIP_CSRF_CONFIRM', 1);
require FORUM_ROOT.'include/common.php';
header('Content-type: text/html; charset=utf-8');

if ($forum_user['g_id'] != FORUM_ADMIN)
   message($lang_common['No permission']);

if(isset($_POST['rss_fid']))
{
   $fid = intval($_POST['rss_fid']);

   $topics = array();
   $query = array(
      'SELECT'   => 'id, subject',
      'FROM'      => 'topics',
      'WHERE'      => 'forum_id='.$fid
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);

   echo '<div class="sf-set set"><div class="sf-box select"><label for="fld"><span>Темы</span><small>Выбрать тему</small></label><br /><span class="fld-input"><select id="fld" name="rss_tid"><option value="0" selected="selected">Тема не выбрана</option>';

   while ($topic_info = $forum_db->fetch_assoc($result)) 
      echo '<option value="'.$topic_info['id'].'">'.forum_htmlencode($topic_info['subject']).'</option>'."\n";

   echo '</select></span></div></div>';
}

require FORUM_ROOT.'footer.php';

Это самый примитивный способ, чтобы получить данные по POST запросу

1

Для примера у нас будет список форумов и при выборе любого из них будут подгружаться темы соответствующего форума.

Итак, вначале форма выпадающего списка форумов:

         <div class="sf-set set">
            <div class="sf-box select">
               <label for="fld"><span>Форумы</span><small>Выбрать форум</small></label><br />
               <span class="fld-input"><select id="rss_forum_id" name="rss_fid" onchange="getForumId(this.value);">
                  <option value="0" selected="selected">Выбрать форум из списка</option>
<?php
$forum_name = array();
$query = array(
   'SELECT'   => 'id, forum_name',
   'FROM'      => 'forums',
);
$result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
while ($forums_info = $forum_db->fetch_assoc($result))
   $forum_name[$forums_info['id']] = $forums_info;

foreach ($forum_name as $forums_info)
   echo "\t\t\t\t\t\t\t\t".'<option value="'.$forums_info['id'].'">'.$forums_info['forum_name'].'</option>'."\n";
?>
               </select></span>
            </div>
         </div>

Затем блок для появления в нем списка топиков:

<div id="result_div_id"></div>

Сам скрипт:

<script>
function getForumId(fid)
{
   jQuery.ajax({
      url:   "topics.php",
      type:   "POST",
      dataType: "html",
      data: jQuery("#rss_forum_id").serialize(),
      success: function(response){
         document.getElementById("result_div_id").innerHTML = response;},
      error: function(response){
         document.getElementById("result_div_id").innerHTML = "Ошибка при отправке формы";}
   });
}
</script>

Generated in 0.037 seconds (90% PHP - 10% DB) with 11 queries