Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Рейтинг

Сообщения:  [1-10]    [11-20]  [21-26] 

 
 автор: uvajs   (17.08.2010 в 16:31)   письмо автору
 
   для: uvajs   (16.08.2010 в 20:53)
 

????

  Ответить  
 
 автор: uvajs   (16.08.2010 в 20:53)   письмо автору
 
   для: serenya1983   (16.08.2010 в 20:45)
 

товарищи, прошу идеи на счет моего вопроса?

  Ответить  
 
 автор: serenya1983   (16.08.2010 в 20:45)   письмо автору
 
   для: uvajs   (16.08.2010 в 20:34)
 

Тот пример по которому делаете на сколько я понял сделан под один вывод!
с кодом где есть с JQuery помочь не могу, в него даже не хочу вникать!
Если Вы в цикле выводите несколько раз id='raiting_info' то у Вас получится несколько div с таким именем, может здесь ошибка!

  Ответить  
 
 автор: uvajs   (16.08.2010 в 20:34)   письмо автору
 
   для: serenya1983   (16.08.2010 в 19:45)
 

в таком варианте:




printf ("<div class='content3'>
<a href='lessons.php?cat=%s&id=%s'>
<img src='%s' class='mini_img' align='left' alt='*'></a>
<p class='h4'><a href='lessons.php?cat=%s&id=%s'>%s</a></p>
<p>Добавил: %s</p><br clear='left'>
<span>%s</span><br>
<div  class='line_f'> </div>
<table  class='author'>
  <tr>
    <td><div  class='raiting_star'>
        <div  class='raiting'>
        <div  class='raiting_blank'></div>
        <div class='raiting_hover'></div>
        <div  class='raiting_votes' style='width:68px'></div>
        </div>
        <div id='raiting_info' class='raiting_info'><img src='images/load.gif' width='12' height='12' alt='*'> <r class='rating1'>Рейтинг:&nbsp;</r>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;<span class='comment1'>Создан:  %s</span>&nbsp;&nbsp;|&nbsp;&nbsp;<span class='comment1'>Просмотров: %s</span>&nbsp;&nbsp;</span></div></td>
   
  </tr>
</table>
</div>
</div></div></div></div><br>",$myrow11["id"],$myrow1["id"],$myrow1["mini_img"],$myrow11["id"],$myrow1["id"],$myrow1["title"],$myrow1["author"],$myrow1["description"], $myrow1["date"],$myrow1["view"]);
}
while ($myrow1 = mysql_fetch_array($result1));
}




и js


<?
$result99 
mysql_query("SELECT * FROM data WHERE cat='$cat'");
$myrow99 mysql_fetch_array($result99);

?>

<script type="text/javascript">
$(document).ready(function(){
total_reiting = <?php $s $myrow99['user_votez']; $d $myrow99['user_num']; if($d<1){$s1 $s;} else {$s1 $s/$d;} echo substr($s1,0,strpos($s1,".")+2); ?>  // итоговый ретинг
id_arc = <?php echo $myrow99['id'];?>; // id статьи
var star_widht = total_reiting*17 ;
$('#raiting_votes').width(star_widht);
$('#raiting_info r').append(total_reiting);
he_voted = $.cookies.get('article'+id_arc); // проверяем есть ли кука?
if(he_voted == null){
$('#raiting').hover(function() {
      $('#raiting_votes, #raiting_hover').toggle();
     },
     function() {
      $('#raiting_votes, #raiting_hover').toggle();
});
var margin_doc = $("#raiting").offset();
$("#raiting").mousemove(function(e){
var widht_votes = e.pageX - margin_doc.left;
if (widht_votes == 0) widht_votes =1 ;
user_votes = Math.ceil(widht_votes/17); 
// обратите внимание переменная  user_votes должна задаваться без var, т.к. в этом случае она будет глобальной и мы сможем к ней обратиться из другой ф-ции (нужна будет при клике на оценке.
$('#raiting_hover').width(user_votes*17);
});
// отправка
$('#raiting').click(function(){
$('#raiting_info r, #raiting_info img').toggle();
$.get(
"raiting.php",
{id_arc: id_arc, user_votes: user_votes},
function(data){
   $("#raiting_info r").html(data);
   $('#raiting_votes').width((total_reiting + user_votes)*17/2);
   $('#raiting_info r, #raiting_info img').toggle();
   $.cookies.set('article'+id_arc, 123, {hoursToLive: 999}); // создаем куку
   $("#raiting").unbind();
   $('#raiting_hover').hide();
   }
      )
                           });
}
                     });
</script>

на данный момент если в категории HTML есть 1 заметка то для нее выводится рейтинг нормально. а где в CSS 2 заметки там уже выводится одинаковые результаты. подскажите как исправить? возможно дело в запросе но писать правильно его я не умею.

  Ответить  
 
 автор: serenya1983   (16.08.2010 в 19:45)   письмо автору
 
   для: uvajs   (16.08.2010 в 19:13)
 

Понятно!
вот так должно работать!
Добавлено background:url(images/raitings.png); для #raiting
и no-repeat для #raiting_blank

<style type='text/css'>
#raiting { background:url(images/raitings.png);position:relative; height:16px; cursor:pointer; width:83px; float:left} /* Блок рейтинга*/
#raiting_blank, #raiting_votes, #raiting_hover {height:16px; position:absolute}
#raiting_blank { background:url(images/raitings.png) no-repeat; width:83px; } /* "Чистые" звездочки */
#raiting_votes {background:url(images/raitings.png) 0 -16px} /*  Закрашенные звездочки */ 
#raiting_hover {background:url(images/raitings.png) 0 -32px; display:none}  /*  звездочки при голосовании */ 
#raiting_info {margin-left:100px}
</style>



<div id="raiting_star">
<div id="raiting">
<div id="raiting_blank" style='background-position:-16px -32px;'></div> <!--блок пустых звезд-->
<div id="raiting_hover"></div> <!--блок  звезд при наведении мышью-->
<div id="raiting_votes"></div> <!--блок с итогами голосов -->
</div>
<div id="raiting_info"><h5></h5></div>
</div>



обратите внимение на строку: background-position:-16px -32px
-16px соответствует смещению на одну звезду влево (т.е. будет показано рейтинг 4 звезды)

Если хотите лучше разбираться забудте про jquery

  Ответить  
 
 автор: uvajs   (16.08.2010 в 19:13)   письмо автору
 
   для: serenya1983   (16.08.2010 в 19:04)
 

такой вариант не совсем подходит. посмотри как реализован этот скрипт и надеюсь, поймете!
http://ruseller.com/lessons.php?rub=32&id=467

  Ответить  
 
 автор: serenya1983   (16.08.2010 в 19:04)   письмо автору
 
   для: uvajs   (16.08.2010 в 18:45)
 

Я бы посоветовал printf заменить на echo/print и данные $myrow1["id"],$myrow1... включать прямо в код что б можно было понять где что!
если у Вас в таблице храниться значение рейтинга, то выводится так же как и поле $myrow1["date"]

//допустим в $myrow1["rating"] хранится значение
echo " <div id='raiting_info' class='raiting_info'><img src='images/load.gif' width='12' height='12' alt='*'> <r class='rating1'>Рейтинг:$myrow1[rating] ... ";

Значение итогового рейтинга можно подсчитать в цикле (если вывод не постраничный), что избавит от лишнего запроса к БД!

  Ответить  
 
 автор: uvajs   (16.08.2010 в 18:45)   письмо автору
 
   для: serenya1983   (16.08.2010 в 18:25)
 

>...вот тока не могу никак выводит результат в цикле
>и где тут цикл?


do 
{
    


printf ("<div class='content3'>
<a href='lessons.php?cat=%s&id=%s'>
<img src='%s' class='mini_img' align='left' alt='*'></a>
<p class='h4'><a href='lessons.php?cat=%s&id=%s'>%s</a></p>
<p>Добавил: %s</p><br clear='left'>
<span>%s</span><br>
<div  class='line_f'> </div>
<table  class='author'>
  <tr>
    <td><div id='raiting_star' class='raiting_star'>
        <div id='raiting' class='raiting'>
        <div id='raiting_blank' class='raiting_blank'></div>
        <div id='raiting_hover' class='raiting_hover'></div>
        <div id='raiting_votes' class='raiting_votes' style='width:68px'></div>
        </div>
        <div id='raiting_info' class='raiting_info'><img src='images/load.gif' width='12' height='12' alt='*'> <r class='rating1'>Рейтинг:&nbsp;</r>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;<span class='comment1'>Создан:  %s</span>&nbsp;&nbsp;|&nbsp;&nbsp;<span class='comment1'>Просмотров: %s</span>&nbsp;&nbsp;</span></div></td>
    
  </tr>
</table>
</div>
</div></div></div></div><br>",$myrow11["id"],$myrow1["id"],$myrow1["mini_img"],$myrow11["id"],$myrow1["id"],$myrow1["title"],$myrow1["author"],$myrow1["description"], $myrow1["date"],$myrow1["view"]);
}
while ($myrow1 = mysql_fetch_array($result1));
}

  Ответить  
 
 автор: serenya1983   (16.08.2010 в 18:25)   письмо автору
 
   для: uvajs   (16.08.2010 в 18:20)
 

...вот тока не могу никак выводит результат в цикле
и где тут цикл?

  Ответить  
 
 автор: uvajs   (16.08.2010 в 18:24)   письмо автору
 
   для: uvajs   (16.08.2010 в 18:20)
 

js код




<?
$result99 
mysql_query("SELECT * FROM data WHERE cat='$cat'");
$myrow99 mysql_fetch_array($result99);

?>

<script type="text/javascript">
$(document).ready(function(){
total_reiting = <?php $s $myrow99['user_votez']; $d $myrow99['user_num']; if($d<1){$s1 $s;} else {$s1 $s/$d;} echo substr($s1,0,strpos($s1,".")+2); ?>  // итоговый ретинг
id_arc = <?php echo $myrow99['id'];?>; // id статьи 
var star_widht = total_reiting*17 ;
$('#raiting_votes').width(star_widht);
$('#raiting_info r').append(total_reiting);
he_voted = $.cookies.get('article'+id_arc); // проверяем есть ли кука?
if(he_voted == null){
$('#raiting').hover(function() {
      $('#raiting_votes, #raiting_hover').toggle();
      },
      function() {
      $('#raiting_votes, #raiting_hover').toggle();
});
var margin_doc = $("#raiting").offset();
$("#raiting").mousemove(function(e){
var widht_votes = e.pageX - margin_doc.left;
if (widht_votes == 0) widht_votes =1 ;
user_votes = Math.ceil(widht_votes/17);  

$('#raiting_hover').width(user_votes*17);
});
// отправка
$('#raiting').click(function(){
$('#raiting_info r, #raiting_info img').toggle();
$.get(
"raiting.php",
{id_arc: id_arc, user_votes: user_votes}, 
function(data){
    $("#raiting_info r").html(data);
    $('#raiting_votes').width((total_reiting + user_votes)*17/2);
    $('#raiting_info r, #raiting_info img').toggle();
    $.cookies.set('article'+id_arc, 123, {hoursToLive: 999}); // создаем куку 
    $("#raiting").unbind();
    $('#raiting_hover').hide();
    }
       )
                                   });
}
                           });
</script>




и код вывода:


<div id='raiting_star' class='raiting_star'>
        <div id='raiting' class='raiting'>
        <div id='raiting_blank' class='raiting_blank'></div>
        <div id='raiting_hover' class='raiting_hover'></div>
        <div id='raiting_votes' class='raiting_votes' style='width:68px'></div>
        </div>
        <div id='raiting_info' class='raiting_info'><img src='images/load.gif' width='12' height='12' alt='*'> <r class='rating1'>Рейтинг:&nbsp;</r>

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-26] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования