2012-04-20 6 views
0

Я использую окно комментариев на своей веб-странице и сохраняю комментарии пользователя. Теперь я хочу показать их с помощью AJAX. Я устанавливал таймер javascript для получения комментариев один за другим. Но я не знаю, как использовать AJAX для извлечения данных. Это файл phpКак получить данные из базы данных с помощью AJAX

<?php 
$link = mysql_connect("localhost","root",""); 
mysql_select_db("continental_tourism"); 
$query = "SELECT comment_id from comment"; 
$result = mysql_query($query); 
$counter = 0; 
while ($row = mysql_fetch_assoc($result)) 
{ 
$counter++; 
} 

$comment_number = rand(1,$counter); 
$query_comment = mysql_query("SELECT * FROM comment WHERE comment_id = '$comment_number'"); 
if (!$query_comment) { 
die('Invalid query: ' . mysql_error()); 
} 
while($result_comment = mysql_fetch_array($query_comment)) { 

echo $result_comment['comment']; 

} 
?> 

следующее является частью скрипта в основном файле.

function timeMsg() 
{ 
var t=setTimeout("show_comment()",3000); 
} 

function show_comment(){ 

} 

Как написать код AJAX на?

функция show_comment()

Если кто-то может объяснить строку кода AJAX построчно, я здорово полный.

+1

Как насчет JQuery? – rkosegi

+1

все, что вам нужно: http://api.jquery.com/jQuery.ajax/ – p0rter

+0

сначала попробуйте что-то по своему усмотрению, есть много примеров, просто Google, также с помощью jQuery будет лучше –

ответ

2

Вы должны перенести весь ваш php-скрипт в другой php-файл, скажем getdata.php, и использовать свою функцию ajax в вашем файле, где вы хотите показать данные, например index.php. (это простой в использовании код). Теперь ваш файл index.php должен выглядеть

<html> 
    <body> 
    <div id="comments"></div> 
    </body> 
    <script src="include/jquery.js" type="text/javascript"></script> 
    <script type="text/javascript> 
    function show_comments() { 
     $.ajax({ 
      url:getdata.php 
      success:function(data){ 
       $("#comments").append(data); 
      } 
     }); 
    </script> 
</html> 

Я использую jquery.ajax функции JQuery. Это намек на то, как вы можете это сделать. Надеюсь, это поможет вам выполнить свою задачу.

+0

Мне нужно отобразить комментарии в div. который находится в том же index.php. Как я могу это сделать? – Ravindu

+0

функция timeMsg() { var t = setTimeout ("show_comment()", 3000); } функция show_comments() { $ .ajax ({ URL: "show_comment.php", успех: функция (данные) { $ ("# комментарии").добавление (данные); } }); – Ravindu

+0

Могу ли я использовать onload()? – Ravindu

1

Используйте метод jQuery's .get(), используя ссылку на ваш PHP-скрипт в качестве URL-адреса. Это должно вызывать ваш PHP-скрипт, и ваш скрипт должен повторять вывод.

Вы должны рассмотреть json_encode -выход вашего вывода из сценария php, прежде чем повторять его.

И я думаю, вместо того, чтобы делать это -

$query = "SELECT comment_id from comment"; 
$result = mysql_query($query); 
$counter = 0; 
while ($row = mysql_fetch_assoc($result)) 
{ 
$counter++; 
} 

вы можете запросить SELECT COUNT(comment_id) from comment и получить счет.

+0

Но в моем файле .php ther есть еще несколько команд эха, которые я использовал. Так как я могу выбрать правильный, который мне нужен, чтобы показать комментарий ??? – Ravindu

+0

Чтобы использовать с AJAX, вам нужно быть осторожным с тем, что вы эхо. Я предлагаю вам поместить все ваши данные в массив, 'json_encode()' it, а затем повторить кодировку этой строки. в части jquery принятые 'data' должны быть json-строкой. Вы можете его декодировать и использовать. –

+0

Я создал еще один .php, чтобы выполнить вышеуказанную проблему. Теперь следующая проблема заключается в том, как я могу перемещать это в div. – Ravindu

Смежные вопросы