И стоило ли тратить день на изучение prototype и jshttprequest от Котерова? =\
По крайней мере теперь умею отправлять и получать запросы/результаты запросов без перезагрузки страницы со всеми этими красивостями javascript... Теперь хотя бы можно разобраться в коде моего старого знакомого, писавшего ajax структуру движка одного сайта... Не, ну не ппц ли? =\
Код файла бэкенда:
include («lib/JsHttpRequest/JsHttpRequest.php»);
$JsHttpRequest =& new JsHttpRequest («windows-1251»);$day = $_REQUEST['day'];
$month = $_REQUEST['month'];
if ((!eregi ([0-9]"", $day)) || (!eregi ([0-9]"", $month)))
{
$GLOBALS['_RESULT']['title'] = «Неверный запрос! Повторите снова!»;
exit ();
}
function getmonth ($m)
{
switch ($m)
{
case «1»:
return «января»;
break;
case 2:
return «февраля»;
break;
case 3:
return «марта»;
break;
case 4:
return «апреля»;
break;
case 5:
return «мая»;
break;
case 6:
return «июня»;
break;
case 7:
return «июля»;
break;
case 8:
return «августа»;
break;
case 9:
return «сентября»;
break;
case 10:
return «октября»;
break;
case 11:
return «ноября»;
break;
case 12:
return «декабря»;
break;
default:
return notspecified;
break;
}
}
//mysql
$host = «localhost»;
$usr = «root»;
$psw = "«;
$db = „mindfreak“;$dbcon = mysql_pconnect ($host, $usr, $psw);
mysql_select_db ($db,$dbcon);
$query = «SELECT * FROM dates WHERE `day` = '».$day.»' AND `month` = '".$month."'";
echo $query;
$qres = mysql_query ($query);if ($res = mysql_fetch_array ($qres))
{
if ($res[2]==0) {$res[2] = «и происходит каждый год»;}else{$res[2] .= « года»;}
$GLOBALS['_RESULT'] = array («day»=>$res[0], «month»=>getmonth ($res[1]), «year»=>$res[2], «title»=>$res[3]);
$GLOBALS['_RESULT']['str'] = 'Праздник «'.$GLOBALS['_RESULT']['title'].'» '.$GLOBALS['_RESULT']['day'].'го '.$GLOBALS['_RESULT']['month'].' '.$GLOBALS['_RESULT']['year'].'!';}
if (empty ($res))
{
$GLOBALS['_RESULT']['str'] = «В этот день не произошло никаких значимых событий!»;
}
И файл фронтэнда:
<script src="http://ajax/lib/JsHttpRequest/JsHttpRequest.js"></script>
<script language="JavaScript">
function doRequests () {
JsHttpRequest.query (
'mysql.php',
{
'day': document.getElementById («day»).value,
'month': document.getElementById («month»).value
},
function (result, errors) {
document.getElementById («answer»).innerHTML = result['str'];
},
false
);
}</script>
<form method="post" enctype="multipart/form-data" onsubmit="return false">
Введите # дня: <input type="text" id="day"><br>
Введите # месяца: <input type="text" id="month"><br>
<a href = «#» onclick="doRequests ()">Go!</a>
</form><div id="answer">
</div>
Что делает: есть база данных (достаточно большая. С сайта моего) в которой хранятся почти все знаменательные даты. Вот их он и показывает. По запросу.
А собсно где примеры кода? ) SAJAX тож пистатая штука
Добавил =)