2012-06-17 3 views
1

Мне нужно создать умеренную систему, подобную той, что есть в fmylife.com. В основном проблема заключается в загрузке запроса MySQL с помощью Ajax (без обновления страницы) в div. MySQL запросовПерезагрузка данных MySQL внутри DIV с использованием Ajax

$sql = mysql_query(“SELECT * FROM posts WHERE active =’0’” LIMIT 1) or die (mysql_error()); 
$row = mysql_fetch_array($sql); 

HTML

<div class=”post-body”><?php echo $row[‘sitepost’];?></div> 

эти данные должны быть перезагружен при нажатии "да" или "нет" кнопки. заранее спасибо.

+0

Где ваш код ajax? – Sarfraz

+0

Вы пробовали искать? – hjpotter92

+0

@ Sarfraz - вот что мне нравится знать. код Ajax. @ Футболка Чувак, да, я пытаюсь так много дней. наконец я пришел сюда. –

ответ

5

@mgraph близко, но если вы хотите d о это на кнопку мыши

в Post.php:

//$UserOption will be Yes/No for button clicks or empty string for first load of the page 

$UserOption = $_REQUEST['UserClicked']; 

//Id will be set if a vote has been clicked or empty string if it's the first load 
$Id = $_REQUEST['Id']; 

//(Do something with $UserOption) 

$sql = mysql_query("SELECT * FROM posts WHERE active ='0' LIMIT 1") or die (mysql_error()); 
$row = mysql_fetch_array($sql); 
echo $row['sitepost']; 

JS:

<script type="text/javascript"> 
$(document).ready(function(){ 
    update(null,null); 
}) 

function update(Id, Vote) { 
    $(".post-body").eq(0).load("post.php?UserClicked=" + Vote + "&Id=" + Id); 
} 
</script> 

HTML:

<div class="post-body"></div> 


<button type="button" onclick="update(1, 'Yes');">Yes</button> 
<button type="button" onclick="update(1, 'No');">No</button> 



<button type="button" onclick="update(2, 'Yes');">Yes</button> 
<button type="button" onclick="update(2, 'No');">No</button> 

Alternate HTML/JS

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#yes").click(function(){ 
     update('Yes'); 
    }) 
    $("#no").click(function(){ 
     update('No'); 
    }) 
    update(); 
}) 

function update(Vote) { 
    $(".post-body").eq(0).load("post.php?UserClicked=" + Vote); 
} 
</script> 

<div class="post-body"></div> 
<button id="yes" type="button">Yes</button> 
<button id="no" type="button">No</button> 
+0

это замечательно, но где событие click? –

+0

На самом деле, я просто закодировал его на кнопках в html ... Вы всегда можете дать кнопкам/divs идентификатор и прикрепить клик, используя jQuery. См. Мои изменения для альтернативного способа прикрепления клика. – Basic

+0

@ Basic thats really nice. Спасибо. еще одна вещь, которую я хочу спросить, может опубликовать id только с голосованием. другой мудрый запрос mysql выйдет из того же результата, не так ли? –

6

в post.php:

$sql = mysql_query("SELECT * FROM posts WHERE active ='0' LIMIT 1") or die (mysql_error()); 
$row = mysql_fetch_array($sql); 
echo $row['sitepost']; 

JS:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#yes").click(function(){ 
     $(".post-body").eq(0).load("post.php"); 
    }) 
}) 
</script> 

HTML:

<div id="yes">YES</div> 
<div class="post-body"></div> 
+0

спасибо, как я могу заставить его работать, когда нажимают кнопку (событие click)? например, идентификатор кнопки «да» –

+0

@ mgraph благодарит за помощь. –

+0

@nickcruse я рад, что могу помочь вам – mgraph

4

Вы можете добавить $("html, body").animate({ scrollTop: 0 }, 500);. Таким образом, при нажатии кнопки «ДА» прокрутка перемещается вверх. Это выглядит мило.

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