Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.04.2014, 15:11
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Функция Like
Здравствуйте. Хочу на сайте внедрить функцию ( мне нравиться ) используя js.

Что бы при нажатие на ссылку (мне нравиться ) менялась сама ссылка (мне нравиться ) на, допустим ( мне понравилось ) , увеличивалось значение count(like) которое прежде было взято из БД на +1 и шла запись в БД .

При повторном нажатие шла бы обратная операция.
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2014, 15:15
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Samsam
Хочу на сайте внедрить
Даю добро
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2014, 16:16
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Ответить с цитированием
  #4 (permalink)  
Старый 28.04.2014, 01:51
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

Здравствуйте. пытаюсь сделать функцию 'мне нравится" Вот что получается

<?php $like=$rowlents_p['like'];
echo $like;
?>

<script>
var a=<?php echo $like; ?>;
function order()
{
ord = a+1;
noord = "<img src=images/like.png>";
document.getElementById("text").innerHTML = ord;
document.getElementById("like2").innerHTML = noord;
document.getElementById("like").style.display = 'none';
document.getElementById("like2").style.display = "block" ;
}
function noorder()
{
ord = a;
noord = "<img src=images/like2.png>";
document.getElementById("text").innerHTML = ord;
document.getElementById("like").innerHTML = noord;
document.getElementById("like").style.display = "block" ;
document.getElementById("like2").style.display = 'none';
}
</script>

<table><tr>
<td><div id="like2" onclick="noorder();"></div><div id="like" onclick="order();"><img src=images/like2.png></div></td>
<td><div id="text" ><?php echo $like; ?></text></div></td>
</tr></table>


$rowlents_p['like'] Это количество всех лайков взятых из базы. В принципе скрипт работает но...

Допустим у меня есть массив новостей .

Вывожу их

$lents_p = mysql_query("SELECT * FROM `posts` ORDER BY id DESC ") or die(mysql_error());
while($rowlents_p = mysql_fetch_array($lents_p))
include(like.php);
{
echo $rowlents_p[news];
}

Так скрипт не работает. как я понимаю это потому что функции в js повторяются.

Вопрос. Как мне сделать так что бы кнопка была в каждой новости которою выведет массив

Заранее спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 28.04.2014, 02:11
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

$html = "";
while($rowlents_p = mysql_fetch_array($lents_p))
{
  $html .= $rowlents_p[news] . $like;
}
echo $html;
Ответить с цитированием
  #6 (permalink)  
Старый 28.04.2014, 02:45
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

это не чего не даёт .. $like это?
Ответить с цитированием
  #7 (permalink)  
Старый 28.04.2014, 02:47
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

js не срабатывает. он выходит с каждым массивом, но работает только с первым массивом


$html = "";
$lents_p = mysql_query("SELECT * FROM `posts` ORDER BY id DESC ") or die(mysql_error());
while($rowlents_p = mysql_fetch_array($lents_p))
{
$html .= $rowlents_p['like'] . $like ."<br>" ;
include ('7.php');
}
echo $html;
Ответить с цитированием
  #8 (permalink)  
Старый 28.04.2014, 03:48
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

зачем в цикле делать include ('7.php'); ?
$like = '<div class="like"><img src="http://javascript.ru/forum/images/smilies/smile.gif"></div>';

<body>
  <div class="like">
    <img src="http://javascript.ru/forum/images/smilies/smile.gif">
  </div>
  <div class="like">
    <img src="http://javascript.ru/forum/images/smilies/smile.gif">
  </div>
  <div class="like">
    <img src="http://javascript.ru/forum/images/smilies/smile.gif">
  </div>
  <script>
    var likes = document.querySelectorAll("div.like");
    var len = likes.length;
    var cllike = function () {
        var limg = this.querySelector("img");
        limg.src = limg.src == "http://javascript.ru/forum/images/smilies/smile.gif" ? "http://javascript.ru/forum/images/smilies/dance3.gif" : "http://javascript.ru/forum/images/smilies/smile.gif";
      }
    while (len--) likes[len].onclick = cllike;
  </script>
</body>
Ответить с цитированием
  #9 (permalink)  
Старый 28.04.2014, 11:44
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

спасибо за ответ .. но кажется это не подходит так как этот скрипт просто методом селект меняет картинку но не может считывать информацию с массива пхп . ( берёт только первый массив ) ... Либо я туплю ..

<?php
$lents_p = mysql_query("SELECT * FROM `posts` ORDER BY id DESC ") or die(mysql_error());
while($rowlents_p = mysql_fetch_array($lents_p))
{
$like=$rowlents_p['like'];
echo "<div class=like>
<img src=images/like2.png>
</div> " ;

}

?>
<script>
var likes = document.querySelectorAll("div.like");
var len = likes.length;
var a=<?php echo $like; ?>;
var cllike = function () {
var limg = this.querySelector("img");
limg.src = limg.src == "http://javascript.ru/forum/images/smilies/smile.gif" ? "http://javascript.ru/forum/images/smilies/dance3.gif" : "http://javascript.ru/forum/images/smilies/smile.gif";
alert(a);
}
while (len--) likes[len].onclick = cllike;
</script>
</body>


при выводе alert(a); выходит самый первый массив .
Ответить с цитированием
  #10 (permalink)  
Старый 28.04.2014, 16:54
Кандидат Javascript-наук
Отправить личное сообщение для Samsam Посмотреть профиль Найти все сообщения от Samsam
 
Регистрация: 24.04.2014
Сообщений: 100

есть у кого нибудь идеи ?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 14:01
Как узнать какая функция вызывается в браузере при наведении мыши? Бобр Элементы интерфейса 6 01.10.2012 04:01
функция и несуществующий id Ankh Элементы интерфейса 4 10.02.2012 23:49
функция не успевает Sadist_dead Элементы интерфейса 22 02.10.2011 19:00
Где вызывается функция? cradis Общие вопросы Javascript 5 23.04.2011 13:47