Вопрос по ajax, jquery, mysql, php – Перезагрузите данные MySQL внутри DIV с помощью Ajax

1

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

$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>

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

Где твой код ajax? Sarfraz
ты пробовал гуглить? hjpotter92
@ Сарфраз - вот что мне нравится знать. код Ajax. @ Футболка Чувак, да, я пытаюсь из-за многих дней. наконец я пришел сюда. nick cruse

Ваш Ответ

3   ответа
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>
спасибо, как я могу заставить его работать, когда нажатие кнопки (событие нажатия)? скажем, идентификатор кнопки - "да" nick cruse
@ nickcruse, я рад, что могу помочь тебе
@ mgraph большое спасибо за помощь. nick cruse
4

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

5

@mgraph близко, но если вы хотите сделать это по нажатию кнопки

в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>
это здорово, но где событие клика? nick cruse
На самом деле, я просто жестко запрограммировал его на кнопки в html ... Вы всегда можете присвоить кнопкам / делителям Id и прикрепить щелчок, используя jQuery. Смотрите мои ревизии для альтернативного способа прикрепления клика
замечательно. Большое спасибо за помощь. nick cruse
Конечно - возможно, у вас есть несколько кнопок для «да» или «нет», поэтому я предлагаю вам вернуться к методу «функция на кнопке», который я впервые предложил. Я отредактирую его соответствующим образом
@ Basic, это действительно хорошо. благодарю вас. еще одна вещь, которую я хотел бы спросить, может опубликовать идентификатор наедине с голосованием. другой мудрый запрос MySQL выведет тот же результат, не так ли? nick cruse

Похожие вопросы