генератор случайных кавычек с php, ajax и mysql - PullRequest
1 голос
/ 07 апреля 2010

Я пытался использовать этот код и этот для создания генератора случайных кавычек, но он ничего не отображает. мои вопросы:

  • что не так с моим кодом?

  • в приведенном выше предложении цитата генерируется по нажатию кнопки, мне бы хотелось случайная цитата будет отображаться каждый 30 минут автоматически. Как мне это сделать это?

////////////////////////

quote.html:

<!DOCTYPE html>
<script src="ajax.js" type="text/javascript"></script>
<body>

<!–create the div for the quotes land–>
<div id="quote"><strong>this</strong></div>
<div><a style="cursor:pointer" onclick="run_query();">Next quote …</a></div>

</body>
</html>

/////////////////////

quote.php:

<?php
include 'config.php';

// 'text' is the name of your table that contains
// the information you want to pull from
$rowcount = mysql_query("select count(*) as rows from quotes");

// Gets the total number of items pulled from database.
while ($row = mysql_fetch_assoc($rowcount))
{
 $max = $row["rows"];
}

// Selects an item's index at random 
$rand = rand(1,$max)-1;
$result = mysql_query("select * from quotes limit $rand, 1");

$row = mysql_fetch_array($result);
$randomOutput = $row['storedText'];

echo '<p>' . $randomOutput . '</p>';

////////////

ajax.js:

var xmlHttp


function run_query() {
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert ("This browser does not support HTTP Request");
return;
} // end if
var url="quote.php";
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} //end function

function stateChanged(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("quote").innerHTML=xmlHttp.responseText;
} //end if
} //end function

function GetXmlHttpObject() {
var xmlHttp=null;
try {
// For these browsers: Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch (e){
//For Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
} //end function

1 Ответ

1 голос
/ 07 апреля 2010

Попробуйте напечатать значения для $ max, $ rand и $ result. Вы можете использовать print_r, чтобы получить больше информации со страницы php.

Запустите quote.php в браузере, чтобы увидеть, если вы получите вывод. Затем перейдите к ajax для отладки.

Вы можете использовать таймер в ajax для автоматизации ваших запросов каждые 30 минут или около того. используйте для этого функцию settimeout в javascript.

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...