2016-07-19 5 views
-3

У меня есть div, в котором отображаются статьи, содержащие теги привязки, которые являются кнопками типа «как» и «не нравятся». Я хочу обновить div, когда некоторые клики любят или не любят, не обновляя всю страницу. Вот div:Обновление страницы PHP без обновления

#Print out article and display information 
echo "<article style='border: 2px solid #10466C;' class='topContent'> 
     <header> 
      <a class='article_title' href='article.php?article=$id'><h3>$title</h3></a> 
     </header> 

     <p class='date-author'>Date: $date <br /> Author: <span style='color: #10466C;'>$author </span> | Catagory: <a href='#'>$catagory</a> | Writer Level: $level<br /> 
     Comments: ($cmt_total) </p> 

     <content> 
      <img class='article-image' src='$image' /> 

      <div style = 'float: left; margin-left: 3%; width: 45%;'> 
      <div class='like_box'> 
       <a href='vote.php?vote=like&title=$title'><img src='img/like.png' class='vote'></a><p class='vote_text'>$like_num</p> 
       <p style='color: #fff;'>$like_username</p> 
      </div> 

      <div class='dislike_box'> 
       <a href='vote.php?vote=dislike&title=$title'><img src='img/dislike.png' class='vote'></a><p class='vote_text'>$dislike_num</p> 
       <p style='color: #EC2800;'>$dislike_username</p> 
      </div> 

    </div> 

    <div style='display: inline-block; margin-top: 10px;'> 
     $text<a href='article.php?article=$title'><b>read more</b></a> 
    </div> 

</content> 
<br /> 
<br /> 

</article> "; 

}

Если вы посмотрите на div называется «like_box» и «dislike_box» вы можете увидеть внутри тега привязки, который понравившегося в PHP скрипт.

Вопрос: как запустить этот скрипт без необходимости обновления страницы и перенаправления с использованием тегов заголовков. Любая помощь приветствуется и любая дополнительная информация, которая вам может понадобиться, я готов предоставить. Я пробовал много способов, я знаю, что для этого потребуется AJAX или JavaScript, для меня не имеет значения, какой из них.

Спасибо.

+5

#javascript #ajax, вы сами ответили на вопрос. что ты уже испробовал? – Stu

+1

Вы даже ajax bro? – Rachmaninoff

+2

не очень хорошо появляется –

ответ

2

Более серьезное примечание, отвечающее на;

Если кто-то может написать какой-нибудь псевдокод или что-то, что покажет, как это сделать?

вопрос (рад помочь дальше, но я думаю, что это может помочь направить вас в правильном направлении, как просили):

вам нужно настроить триггер, который улавливает щелчок;

<div class='dislike_box'> 
    <a data-dislike="<?php echo $id; ?>"> 
     ... 
    </a> 
</div> 

а затем возьмите на себя с помощью js;

document.querySelectorAll('a[data-dislike]').onclick = function() { 
    // make an ajax call to your like/dislike script 
    // and on success change the DOM somehow 
}; 

Затем в (вероятно, PHP) скрипт, который вызывается, когда вы делаете // make an ajax call to your like/dislike script «вызов», вам нужно взять в переменных (отправка через вызов Ajax и взял в сценарии, например, то, что в data-like/data-dislike attr или аналогичный)

Затем, когда вы получаете эти вары, переданные из вызова ajax и забираете их в своих скриптах PHP, вы можете выполнить обновление базы данных и вернуть что-то (возможно, JSON), которое сообщает сценарию на стороне клиента «как "для обновления DOM, основываясь на том, что вы получили от вызова ajax.

Сообщите мне, если это не имеет никакого смысла.

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