{% else-1 %}
KoT * [мошенник] 1.91
(4 дек 2013, 04:01) (1/0) [1]
Набросал тут...
Создаешь таблицу для голосовавших, к примеру votes с полями who(кто) и whom(кому)
Добавляешь колонки в таблицу пользователей, пускай будет good(положительный) и bad(отрицательный)
Делаешь форму голосования как-то так:

<?php

if (isset($_POST[\'go\']))
{
$vote = abs($_POST[\'vote\']); // фильтр
// проверка
if ($vote < 1 && $vote > 2)
{
$sql = mysql_query(\"SELECT COUNT(id) FROM votes WHERE whom = \'$ид_юзверя\' AND who = \'$мой_ид\' LIMIT 1\"*;
if (mysql_result($sql, 0) != false)
{
// ошибка
}
else
{
if ($vote == 1) $result = \"good = good + \'1\'\"; // положительный
elseif ($vote == 2) $result = \"bad = bad + \'1\'\"; // отрицательный
// пишем результат
mysql_query(\"UPDATE users SET $result WHERE id = \'$ид_юзверя\' LIMIT 1\"*;
mysql_query(\"INSERT INTO votes SET who = \'$мой_ид, whom = \'$ид_юзверя\'\"*;
// голос принят
}
}
}

// форма голосования
<form method=\"post\" action=\"?\">
<select name=\"vote\">
<option value=\"1\">За</option>
<option value=\"2\">Против</option>
</select>
<br/>
<input type=\"submit\" name=\"go\" value=\"OK\"/>
</form>

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

$q = mysql_fetch_assoc(mysql_query(\"SELECT good, bad FROM users WHERE id = \'$ид_юзверя\' LIMIT 1\"*);
echo \'За: \' . $q[\'good\'] . \' | Против: \' . $q[\'bad\'] . \' (общий рейт: \' . ($q[\'good\'] - $q[\'bad\']) . \')<br/>\';

?>

ну а в сортировке уже выводи циклом (если я правильно понял тебя насчет сортировки)

<?php

// выбираем юзверей
$q = mysql_query(\"SELECT login, good, bad FROM users WHERE good > \'0\' ORDER BY good DESC\"*;
// счетчик
$i = 1;
// проверка
if (mysql_num_rows($q) != false)
{
$i++;
// вывод...
while($a = mysql_fetch_assoc($q))
{
echo $i . \') Юзверь \' . $a[\'login\'] . \' рейтинг: \' . ($a[\'good\'] - $a[\'bad\']) . \'<br/>\';
}
} else echo \'В рейтинге никого нет...\';

?>
KoT * [мошенник] 1.91
(4 дек 2013, 03:32) (1/0) [1]
(рейтинг:+38) вот теперь понятно еп * слово \"рейтинг\" все ясно излогает
KoT * [мошенник] 1.91
(4 дек 2013, 03:31) (0/0) [0]
blat, Непонятно то, ЗАЧЕМ отнимать отрицательные голоса от положительных?
KoT * [мошенник] 1.91
(4 дек 2013, 03:29) (0/0) [0]
Я не понял суть..
Причем здесь 42-8, там что ограниченное кол-во голосов?

Ладно примерно так:

За: 42 / Против: 4 / Всего: 46
Добавлено 04.12.13 в 03:30:19:
Или ты хочешь засунуть голосов ~50 потом считать :
За: 25 / Против: 24 / Осталос: 1
???
KoT * [мошенник] 1.91
(4 дек 2013, 03:18) (0/0) [0]
Так его пять минут делать, о каком велосипеде речь? Я только непойму откуда там цыфра 38?
  • 1 из 1