JavaScript Уроци

Динамична ротация на резултати от DB

Автор: Karcho

Първо ще дам кода, после ще ви обясня.

rotator.php :

<script type="text/javascript" src="jquery.min.js"></script>
<script>
function getRand() {
$.ajax({
url: "getUsername.php",
success: function(response) {
$("#random").html(response).hide().fadeIn("slow");
}
});
};
setInterval("getRand()", 1000);
</script>
<div id="random"></div>

Така, първо и задължително нещо е да include-нем jquery библиотеката.
После правим една функция с която посредством $.ajax правим request към даденият файл, ако няма никакви проблеми на „success“ и даваме да извършва функция, функцията приема параметър „response“ която присвоява върнатият резултат от файла към който сме дали request. След това, просто присвояваме на нашият div с id „random“, стойноста на „response“.

SetInterval… Тук идва тънкият момент. Първият параметър приема функцията (може да приема и други работи, но в конкретният случай е функция), а вторият параметър е времето през което да изпълни функцията в милисекунди (1000 милисекунди = 1 секунда). И така изпълняваме тази функция през една секунда и тя всеки път прави request към нашият файл.

getUsername.php

<?php
$connect = mysql_connect("localhost", "root", "password") or die ("No connection");
mysql_select_db("database", $connect) or die ("I Cant Select Database");
$row = mysql_fetch_assoc(mysql_query("SELECT username FROM `users` ORDER BY rand()"));
print $row["username"];
?>

Виждате един най-обикновен PHP код. Първите 2 реда са връзка с базата данни.
3-тият – обикновена заявка, но за да има всеки път различен върнат резултат слагаме ORDER BY rand(), за да подрежда резултатите по случайност (random). След това просто извеждаме този резултат.
Това е от мен. Надявам се да Ви е било полезно, ако имате въпроси – в коментарите (най-добре).

Архив с необходимите файлове – link

УРОКЪТ Е АВТОРСКИ И ЗАБРАНЯВАМ КОПИРАНЕТО МУ.

Вашият коментар