
O co chodzi? Mam taki skrypt stronicowania w Ajaxie, który działa poprawnie bo sprawdzałem. Mój skrypt ma wyświetlać filmy dodane w różnych kategoriach i po wejściu w kategorię ma być właśnie to stronicowanie. Udało mi się zrobić aby po wejściu wyświetliły się filmy z danej kategorii. Nawigacją pojawia się prawidłowo, lecz nie mogę zmienić strony w żaden sposób

O to mój kod w pliku HTML:
<?php if ($_GET['user']) { // do txtResult ładowana jest treść (w moim przypadku są to filmy) i pasek z nawigacją echo "<div id=\"txtResult\" align=\"center\" style=\"margin-top:10; background-color:#999999; font:Arial, Helvetica, sans-serif; color:#333333; height:345px; border: 2px solid;\"> <input type='hidden' id='username' value='".$_GET['user']."'> "; ?> <script> username = document.getElementById('username').value; htmlData('paging.php', 'p=1', 'user=username'); </script> </div> "; } else { ?> <div id="dane" align="center" style="margin-top:10; background-color:#999999; font:Arial, Helvetica, sans-serif; color:#333333; height:345px; border: 2px solid;"> <br /> <table width="400" style="font-size:16px; border:0;"> <tr> <td colspan="2">Wybierz bibliotekę filmów:</td> </tr> <tr> <td width="200"><a href="youtube.php?user=rafal"><img src="folder.png" width="18" height="18" border="0"/></a> Kategoria 1</td> <td width="200"><a href="youtube.php?user=damian"><img src="folder.png" width="18" height="18" border="0"/></a> Kategoria 2</td> </tr> </table> </div> <? } ?>
tutaj mam plik ajax_reg.js :
function GetXmlHttpObject(handler) { var objXMLHttp=null if (window.XMLHttpRequest) { objXMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") } return objXMLHttp } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { // txtResult will be filled with new page document.getElementById("txtResult").innerHTML = xmlHttp.responseText } else { //alert(xmlHttp.status); } } function htmlData(url, qStr, user) { if (url.length==0) { document.getElementById("txtResult").innerHTML = ""; return; } xmlHttp = GetXmlHttpObject(); if (xmlHttp==null) { alert ("Browser does not support HTTP Request"); return; } username=document.getElementById("username").value; url=url+"?"+qStr; url=url+"&user="+username; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange = stateChanged; xmlHttp.open("GET",url,true) ; xmlHttp.send(null); }
i plik, który pobiera z bazy odpowiednie filmy z wybranej kategorii:
<style type="text/css" > table.data { background-color:#fff; color:#213243; } .data th {background-color:gray; color:#ffffff} .pagingDiv { width:270px; height:20px} .pNo {float:left; width:30px; margin-left:3px; margin-right:3px; border:0px solid gray;} .pNo a {text-decoration:none; color:#FFFFFF;} </style> <?php // Database connection require_once "config.php"; // Number of records to show per page $recordsPerPage = 2; # 0 $user = $_GET['user']; // default startup page $pageNum = 1; $pageNum = $_GET['p']; } $offset = ($pageNum - 1) * $recordsPerPage; $query = "SELECT * FROM im_movies WHERE movie_kat='".$user."' LIMIT $offset, $recordsPerPage"; # 2 change/add columns name $adres1 = $tem[1]; $adres = $tem2[0]; $data .= "<object width=\"425\" height=\"344\"><param name=\"movie\" value=\"http://www.youtube.com/v/".$adres."&hl=pl_PL&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/".$adres."&hl=pl_PL&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"425\" height=\"344\"></embed></object> "; } # Update this query with same where clause you are using above. $query = "SELECT movie_id FROM im_movies WHERE movie_kat='".$user."'"; # 3 $numrows = $row; # 4 $nav = ''; for($page = 1; $page <= $maxPage; $page++) { if ($page == $pageNum) { $nav .= "<div class=\"pNo\">$page</div>"; } else { $nav .= "<div class=\"pNo\"><a href=\"java script:htmlData('paging.php','p=$page', 'user=$user')\">$page</a></div>"; } } if ($pageNum > 1) { $page = $pageNum - 1; $prev = "<a href=\"java script:htmlData('paging.php','p=$page', 'user=$user')\"><strong><</strong></a>"; $first = "<a href=\"java script:htmlData('paging.php','p=1', 'user=$user')\"><strong><<</strong></a>"; } else { $prev = '<strong> </strong>'; $first = '<strong> </strong>'; } if ($pageNum < $maxPage) { $page = $pageNum + 1; $next = "<a href=\"java script:htmlData('paging.php','p=$page', 'user=$user')\"><strong>></strong></a>"; $last = "<a href=\"java script:htmlData('paging.php','p=$maxPage', 'user=$user')\"><strong>>></strong></a>"; } else { $next = '<strong></strong>'; $last = '<strong> </strong>'; } echo "<div align=\"center\" style=\"background-color:#999999; font:Arial, Helvetica, sans-serif; color:#333333; height:22px; border: 1px dashed;\"> <div class=\"pNo\">$first</div> <div class=\"pNo\">$prev</div> $nav <div class=\"pNo\">$next</div> <div class=\"pNo\">$last</div></div> <br />"; ?>
Cały kod stronicowania jest stąd: http://www.satya-weblog.com/2007/03/paging...l-and-ajax.html
Do funkcji htmlData dodałem argument user, w którym zapisane jest, którą kategorię oglądamy.
Bardzo prosiłbym o pomoc. W JS jestem zielony

Jak coś nie jasno napisałem to proszę pytać.
Pozdrawiam
DeemR
edit :
Udało mi się rozwiązać problem

Powinno być tak:
i tak:
function htmlData(url, qStr, user) { //alert(user); if (url.length==0) { document.getElementById("txtResult").innerHTML = ""; return; } xmlHttp = GetXmlHttpObject(); if (xmlHttp==null) { alert ("Browser does not support HTTP Request"); return; } url=url+"?"+qStr; url=url+"&"+user; url=url+"&sid="+Math.random(); //alert(url); xmlHttp.onreadystatechange = stateChanged; xmlHttp.open("GET",url,true) ; xmlHttp.send(null); }