Помогите с Ajax обработкой встроенных параметров

409
.
function navigation($url) {
clearTimeout(restim);
text($url);
}
.
вообщем понял что тем способом не решу проблему...убил пол дня.

сошолся на

echo '<script language="JavaScript" type="text/javascript">  
function msg()
{
var s = "'.$id.'";
var x = encodeURIComponent(s);
$.ajax({
type: "POST",
url: "mas.php",
data: "id="+x+"",
success: function(html){
$("#text").html(html);
}
});
}

$(document).ready(function(){
msg();
setInterval(\'msg()\',10000);
});
</script>';


Но вопрос как сделать теперь навигацию без перезагрузки страницы?
.
(\/)____o_O____(\/)
blackvj, передавай все в один запрос , страницу, ид и прочее, аякс сделай функцией, повесь на нужные клики события, при выполнении которых будет грузить функция с аргументами, аргументы в аякс
.
Koenig, в классе функций есть функция навигации

function jsnav2($base_url, $start, $max_value, $num_per_page)
    {
$neighbors = 2;
        if ($start >= $max_value)
            $start = max(0, (int)$max_value - (((int)$max_value % (int)$num_per_page) == 0 ? $num_per_page : ((int)$max_value % (int)$num_per_page)));
        else
            $start = max(0, (int)$start - ((int)$start % (int)$num_per_page));
$base_link = '<a class="navpg" href="javascript:navi" onclick="javascript:msg(\'' . strtr($base_url, array('%' => '%%')) . 'page=%d' . '\')" >%s</a>';
        $out[] = $start == 0 ? '' : sprintf($base_link, $start / $num_per_page, '←');
        if ($start > $num_per_page * $neighbors)
            $out[] = sprintf($base_link, 1, '1');
        if ($start > $num_per_page * ($neighbors + 1))
            $out[] = '<span style="font-weight: bold;"> ... </span>';
        for ($nCont = $neighbors; $nCont >= 1; $nCont--)
            if ($start >= $num_per_page * $nCont) {
                $tmpStart = $start - $num_per_page * $nCont;
                $out[] = sprintf($base_link, $tmpStart / $num_per_page + 1, $tmpStart / $num_per_page + 1);
            }
        $out[] = '<span class="navpg1"><b>' . ($start / $num_per_page + 1) . '</b></span>';
        $tmpMaxPages = (int)(($max_value - 1) / $num_per_page) * $num_per_page;
        for ($nCont = 1; $nCont <= $neighbors; $nCont++)
            if ($start + $num_per_page * $nCont <= $tmpMaxPages) {
                $tmpStart = $start + $num_per_page * $nCont;
                $out[] = sprintf($base_link, $tmpStart / $num_per_page + 1, $tmpStart / $num_per_page + 1);
            }
        if ($start + $num_per_page * ($neighbors + 1) < $tmpMaxPages)
            $out[] = '<span style="font-weight: bold;"> ... </span>';
        if ($start + $num_per_page * $neighbors < $tmpMaxPages)
            $out[] = sprintf($base_link, $tmpMaxPages / $num_per_page + 1, $tmpMaxPages / $num_per_page + 1);
        if ($start + $num_per_page < $max_value) {
            $display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start / $num_per_page + 2);
            $out[] = sprintf($base_link, $display_page, '→');
        }
        return implode(' ', $out);
    }


Аякс обрабатывает страницу

с постраничным навигатором echo '<div class="menu">' . jsnav2('mas.php?', $start, $total, $kmess) . '</div>';

Но на главной странице где собственно и подгружаеться сама страница, я понять не могу принцип реализации навигации
.
blackvj
По клику событие

$base_link = '<a class="navpg" href="javascript:navi" onclick="javascript:msg(\'' . strtr($base_url, array('%' => '%%')) . 'page=%d' . '\')" >%s</a>';



Вот есть аякс

function msg()
{
var s = "'.$id.'";
var x = encodeURIComponent(s);
$.ajax({
type: "POST",
url: "mas.php",
data: "id="+x+"",
success: function(html){
$("#text").html(html);
}
});
}


Как тогда прикрутить событые их класса навигации к нему?

И вывсети через параметры в строке

data: "id="+x+"", ????
.
Навигация находиться на странице mas.php

А аякс обработчик на другой странице
.
Думал так сделать но увы

function msg($url)
{
var p = "'.$url.'";
var s = "'.$id.'";
var x = encodeURIComponent(s);
$.ajax({
type: "POST",

url: "mas.php",

data: "id="+x+"&page="+p+"",
success: function(html){
$("#text").html(html);
}
});
}
.
(\/)____o_O____(\/)
blackvj, опять усложнил, разберемся в теории, тебе нужно вывести ссылки на страницы , это делаем пыхом, для расчетов нужно знать количество на страницу и число записей, простая математика и округление в большую сторону, ссылки вида ?page=1
вешаем аякс на document.ready и забираем все аргументы с query string
по примеру выше все отдаем в обработчик, все расчеты в обработчике
$start = ...
$kmess = ...
запрос, фетч и тд, отдаем страницу
сами сообщения отдаем аяксом, навигация пыхом
.
1. В классе функций уже есть подсчет кол. страниц c page
2. Я document.ready заменил через функцию для подальшего ее авто обновления
-----

Я так понял расчет нужно вести на той же странице на которой и сам аякс стоит.

Но тогда как сделать

навигацию по событию?

Тоесть это

$base_link = '<a class="navpg" href="javascript:navi" onclick="javascript:msg(\'' . strtr($base_url, array('%' => '%%')) . 'page=%d' . '\')" >%s</a>';


Знаю что я достал наверно...но блин начал потихоньку переежать с wap строения на web. Вот и изучаю все в азах так сказать...

Буду оченб благодарен если пример на коде напишеш...
.
Просто не могу понять как это в коде будет выглядеть... день убил на это...все проблема в навигации без перезагрузки страницы
Всего: 30