Вывод рейтинга товара

Пишу интернет магазин. Сделал вывод товара с БД хочу добавить рейтинг каждому товару. Звездочки настроил ну вот проблема с цифрами возле звезд. Выводится либо на первом товаре когда мышка находится на 2 или 3 товаре либо на последнем. В данный момент на последнем. При вызове товара в consol.log(data); появляются три объекта с тремя товарами. Вот мой код js:

var cart = {};

  $(document).ready(function(){
    //showGood();
    checkCart();
    showMiniCart();
  });

   //Кнопка вывода односпальные
   $('#1x').click(function(){
    $.post(
      "core.php",//фаил регистрации функции в core.php
      {
        "action" : "init"//функция в файле function.php
      },
      showGoods
    );
  })

  function showGoods(data) {
   data = JSON.parse(data);
   
    //console.log(data);
    var out='';
    for (var nomer in data) {
      out+='<div class="goods">';         
      out+='<h2>'+data[nomer]['name']+'</h2>';
      out+='<img src="'+data[nomer].img+'">';
      out+='<button class="opis1" data-art="">Описание товара</button>';
      out+='<button class="typer1" data-art="'+nomer+'"><i class="fa fa-shopping-basket" aria-hidden="true"></i>Добавить в корзину</button>';
      out+='<p>Цена: '+data[nomer]['cost']+' рублей</p>';       
      out+='<div id="rating">';
      out+='<div class="comment" id="message">Оцените этот материал:</div>';
      out+='<div>';
      out+='<div class="stars" id="db_'+nomer+'"></div>';
      out+='<p class="progress" id="progress_id"></p>';           
      out+='</div>';
      out+='<div class="rating" id="rating_'+nomer+'">'+data[nomer]['reyting']+'</div>';
      out+='</div>';
      out+='</div>';
    }
    $('.goods-out').html(out); 
    $('button.typer1').on('click', addToCart); 
    
    $(document).ready(function() {

От сюда не могу разобраться

      //console.log(data);
     for (var nomer in data) {
     $('#db_'+nomer+'').on('mousemove', function(e){
      if ($(this).hasClass('fixed')==false) move(e, $(this));
     })
    
     console.log(data);
     function move (e, obj) {
        //data = JSON.stringify(data);
      var progress = e.pageX - obj.offset().left;
      var rating = progress * 5 / $('#db_'+nomer+'').width();
      obj.next().width(progress);
      var d = rating - Math.floor(rating), r;
      if (d<=1/3) r =  Math.floor(rating);
      else if (d<=2/3) r = Math.floor(rating) + 0.5;
      else r = Math.ceil(rating);
      $('#rating_'+nomer+'').text(r);
     }
    //console.log(data);
    }

Вот по сюда.

     $('#rating .stars').click (function(e) {
      $(this).toggleClass('fixed');
      move (e, $(this));
      var rt = parseFloat($('#rating_id').text());
      jQuery.post('php/rating.php', {
       id: $(this).attr('id').substr(3), //id записи
       rating: rt //рейтинг юзера
      }, notice); //по завершении выполнить notice
      $('#rating_id').text('');
     });
  
     function notice (text) {
      var arr = text.split('#');
      $('#message').fadeOut(500, function() { 
       $(this).text(arr[0]); //сообщение
       $('#rating .stars').hide(); //убрать звездочки
       $('#rating #progress_id').hide(); //и фон
       $('#rating_id').text('Всего '+arr[2]+', '+arr[1]+' из 5'); //общий счет
      }).fadeIn(1500);
     }
    });
  }  

Ответы (0 шт):