Ajax подгрузка элементов со случайным выводом

#
Ajax подгрузка элементов со случайным выводом
Доброго времени суток!
Возник вопрос, точнее я в ступоре, не могу разобраться с ajax подгрузкой "новостей".
я сделал случайный вывод новостей так:
<?php    
         $InformationSystem = & singleton('InformationSystem');
         $item_count = 3;
         $InformationSystemId = '15';
        $InformationGroupId = false;
      $external_propertys=array();
      $property=array();
      $property['OrderField'] = 'RAND()';
      $element['type'] = 1;
      $element['property_id'] = 42;
      $element['prefix'] = ' AND ';
      $element['if'] = '=';
      $element['value'] = "1";
      $element['sufix'] = '';
      $property['select'][] = $element;
         $InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'ВыводСпискаХитов', $item_count, 0, $external_propertys, $property);
      ?>


это записанно в Динамической странце узла структуры.
все выводит. но мне нужно что бы изначально выводило 3(это минимум), но если размер окна позволяет - по подгружались еще Записи.
в верстке все просто - функцию я реализовал, делал простой php скриптик на вывод новости.
вот упрощенный код
jQuery.ajax({
   type: 'POST',
   url: 'loadHit.php',
   data: 'num='+k,
   beforeSend: function(){
      $('ul.hits').append('<li><div id="ajax1"><img src="images/ajax.gif" alt=""></div></li>');
      $('#ajax1').fadeIn();
   },
   success: function(msg){
      $('#ajax1').fadeOut('normal', function(){
      $('ul.hits').append(msg);
      $(this).parent('li').remove();
      });
   }
});


как реализовать это сдесь, подскажите пожайлуйста
Roman_che
#
Re: Ajax подгрузка элементов со случайным выводом
Romano_che, думаю, что Вам нужно получить высоту родительского элемента, потом посчитать высоту текущих элементов и если разница между ними позволяет, то выполнить аякс загрузку элементов.
Делись своими знаниями. Это путь к бессмертию.
#
Re: Ajax подгрузка элементов со случайным выводом
R_www,
я уже получил сколько элементов нужно подгрузить - это
Romano_che писал(а):
 data: 'num='+k,

Мне до сих пор не понятно несколько вещей:
1, куда посылать данные?Romano_che писал(а):
url: 'loadHit.php',
loadHit.php - это тестовый скриптик мой(там нету вызова какого либо элемента и он не относится к cms)
2. какие данные мне нужно передать кроме числа Догружаемых элементов, чтобы сынициировать подгрузку
3. как запустить саму подгрузку: изначально она задается так:Romano_che писал(а):
<?php    
         $InformationSystem = & singleton('InformationSystem');
         $item_count = 3;
         $InformationSystemId = '15';
        $InformationGroupId = false;
      $external_propertys=array();
      $property=array();
      $property['OrderField'] = 'RAND()';
      $element['type'] = 1;
      $element['property_id'] = 42;
      $element['prefix'] = ' AND ';
      $element['if'] = '=';
      $element['value'] = "1";
      $element['sufix'] = '';
      $property['select'][] = $element;
         $InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'ВыводСпискаХитов', $item_count, 0, $external_propertys, $property);
      ?>

Заранее прошу прощения за мою "непонятливость"
Roman_che
#
Re: Ajax подгрузка элементов со случайным выводом
Romano_che,
1.данные можете посылать на тот же узел структуры, где и выводятся новости. например на /news/. обработку делать в настройках тдс.
2. передайте items_begin, чтобы подгрузить не все элементы,а только недостающие.
3.  В смысле запустить? Аякс обращается по адресу, Ваш скрипт выполняется и отображает новости, поместите его в настройки и последней строчкой напишите exit(); чтобы страницы дальше не генерировалась. Заместо $item_count напишите to_int($_REQUEST['num'])
Делись своими знаниями. Это путь к бессмертию.
#
Re: Ajax подгрузка элементов со случайным выводом
сейчас попробую )
Roman_che
#
Re: Ajax подгрузка элементов со случайным выводом
R_www писал(а):
1.обработку делать в настройках тдс.


это мне надо сделать так?

<?php    

if (isset(to_int($_REQUEST['num']))){
         $InformationSystem = & singleton('InformationSystem');
         $item_count = to_int($_REQUEST['num']);
$item_begin=3;
         $InformationSystemId = '15';
        $InformationGroupId = false;
      $external_propertys=array();
      $property=array();
      $property['OrderField'] = 'RAND()';
      $element['type'] = 1;
      $element['property_id'] = 42;
      $element['prefix'] = ' AND ';
      $element['if'] = '=';
      $element['value'] = "1";
      $element['sufix'] = '';
      $property['select'][] = $element;
         $InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'ВыводСпискаХитов', $item_count, 0, $external_propertys, $property);
exit();
}
      ?>
}
Roman_che
#
Re: Ajax подгрузка элементов со случайным выводом
<?php    if (isset($_REQUEST['num'])){
if(to_int($_REQUEST['num'])>0) {

         $InformationSystem = & singleton('InformationSystem');
         $item_count = to_int($_REQUEST['num']);
$item_begin=3;
         $InformationSystemId = '15';
        $InformationGroupId = false;
      $external_propertys=array();
      $property=array();
      $property['OrderField'] = 'RAND()';
      $element['type'] = 1;
      $element['property_id'] = 42;
      $element['prefix'] = ' AND ';
      $element['if'] = '=';
      $element['value'] = "1";
      $element['sufix'] = '';
      $property['select'][] = $element;
         $InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'ВыводСпискаХитов', $item_count, 0, $external_propertys, $property);
} else echo ''; //  вот здесь напишите правильный код,  чтобы у вас нормально подгрузилось.или на js скрипте проверку сделайте, вдруг 0 выскочит, тогда и отсылать аякс не надо=)
exit();
      
}?>
Примерно так
Делись своими знаниями. Это путь к бессмертию.
#
Re: Ajax подгрузка элементов со случайным выводом
R_www,
Огромнейшее тебе спасибо! все работает!
у меня проверка в JS есть - так что если 0 - то запрос не идет.
Roman_che
Авторизация