SexBlogs.Name
С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962
|
Добавлено: 23/09/11 в 10:57 |
Нужна помощь по аяксу.
Есть база данных с фильмами, нужно вывести в древовидной структуре сначала категории, потом даты по данной категории и потом фильмы.
На первый взгляд вроде сделал. Проблема в том что не могу догнать как теперь подняться по раскрытому дереву убирая за собой потомков
Может кто чего подскажет?
index.php
Код: [развернуть] | <html>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251"?>
<script>
function create_object()
{
var http_request = false;
// Mozila, Safari etc.
if(window.XMLHttpRequest)
{
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType)
{
http_request.overrideMimeType('text/html; charset=windows-1251');
}
}
// IE
else if(window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {}
}
}
// Error
if(!http_request) {
alert('Failed to create object of class XMLHTTP');
return false;
}
else { return http_request; }
}
function make_request(url, id) {
http_request = create_object();
http_request.onreadystatechange = function() { paste_response(http_request, id); };
http_request.open('GET', url, true);
http_request.send(null);
}
function paste_response(http_request, id) {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById(id).innerHTML += http_request.responseText;
} else {
alert('No response from server or another error accured.');
}
}
}
</script>
<body onLoad="make_request('http://site.ru/catalog/work.php', 'global');">
<div id="global">Фильмотека:<br /></div>
</body>
</html> |
собственно обработчик work.php
Код: [развернуть] | <?
#############################################################
# установка соединения с мускулем
Error_Reporting(E_ALL & ~E_NOTICE);
$dblocation = "localhost";
$dbname = "test1";
$dbuser = "root";
$dbpass = "";
$ident=mysql_connect ($dblocation,$dbuser,$dbpass);
if ($ident == false) echo ("MSQL CONNECT ERROR <br>");
//else echo ("Soedinenie s MySQL ustanovleno! <br>");
# установка соединения с базой
$succ = mysql_select_db($dbname,$ident);
if ($succ == false) echo ("MSQL BASE SELECT ERROR <br>");
//else echo ("Soedinenie s basoy ".$dbname." ustanovleno! <br>");
#############################################################
if($_GET[a])
{
switch($_GET[a])
{
case "date": getDates(); break;
case "film": getFilms(); break;
default: getCategories(); break;
}
}else{
getCategories();
}
function getCategories()
{
$sql="SELECT * FROM `tblCategories`";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$divId = "cat".$row['id'];
$url = "http://site.ru/catalog/work.php?a=date&cat=".$row['id'];
echo "<div id='$divId'>";
echo "<a href=\"#\" onClick=\"make_request('$url','$divId');\"\">".$row['id'].": ".$row['fldTitle']."</a>";
echo "</div>";
}
}
function getDates()
{
$sql="SELECT DISTINCT `fldDate` FROM `tblFilms` WHERE `id` IN (SELECT `fldFilm` FROM `tblLinks` WHERE `fldCategory`='".$_GET[cat]."')";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$divId = $_GET[cat]."date". rand();
$url = "http://site.ru/catalog/work.php?a=film&cat=".$_GET['cat']."&date=". $row['fldDate'];
echo "<div id='$divId' style=\"text-indent:20px\">";
echo "|----<a href=\"#\" onClick=\"make_request('$url','$divId');\"\">".$row['fldDate']."</a>";
echo "</div>";
}
}
function getFilms()
{
$sql="SELECT `fldTitle` FROM `tblFilms` WHERE `id` IN (SELECT `fldFilm` FROM `tblLinks` WHERE `fldCategory`='".$_GET[cat]."') AND `fldDate`='".$_GET[date]."'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo "<div style=\"text-indent:40px\">|----".$row['fldTitle']."</div>";
}
}
mysql_close($ident);
?> |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |