Помогите с добавлением рейтинга к товару...

MilkeyWay

Постоялец
Регистрация
11 Июл 2011
Сообщения
142
Реакции
10
Задумал добавить рейтинг к товарам(+/-) в силу слабого знания php,никак не соображу,как рейтинг привязать к товару,чтобы поле в бд обновлялось только у текущего товара,т.е на какой странице в данный момент нахожусь,подскажите,пожалуйста,куда копать надо?
Использую цмс виарт шоп,тут можно посмотреть демо страницы с товаром - Для просмотра ссылки Войди или Зарегистрируйся
 
На таблице товаров добавьте 2 поле - plus, minus. Тогда для каждого товара будет свой плюс-минус.
Или одно поле - reyting. Когда нажимается + +1 к reyting, если - то -1.
 
загвоздка в том,что я не соображу как связать рейтинг с товарами,как определить,на странице какого товара я нахожусь,к какому товару обновлять рейтинг,если было нажато + или -,на этом ступор:
создал отдельный файл php,который вызывается аяксом...
$sql = mysql_query("SELECT item_rate FROM va_items WHERE item_id=Тут соображалка не работает") or die ("бла бла бла");
 
не надо их связать, просто на саму таблицу товаров добавьте просто 1 или 2 атрибуты. Когда берётся товар берётся и рейтинг и всё...
 
Таблица товара (предположим item )должна выглядеть примерно так:
id | наименование товара | описание товара | изображение товара | группа товаров | подгруппа товаров | цена товара | рейтинг+ | рейтинг- | примечание
вывод данных о товаре будет таким:
PHP:
$item_data=mysql_query("SELECT * FROM item WHERE `id`='какоето_id'");
echo "<table>";
while($item=mysql_fetch_assoc($item_data){
echo '<tr><td colspan="......"><a href="result_file.php?id='.$item[id].'&action=plus">+</a><a href="result_file.php?id='.$item[id].'&action=minus">-</a></td></tr>';  
echo "<tr><td>".$item['наименование товара']."</td><td>".$item['изображение товара']."</td><td>рейтинг+: ".$item['рейтинг+']."</td><td>рейтинг-: ".$item['рейтинг-']."</td><td>".$item['описание товара']."</td>............</tr>";
}
</table>
обработка клика по ссылке происходит в файле result_file.php и происходит приблизительно таким образом:
PHP:
if($_GET && $_GET[id]>0 && ($_GET['action']=="plus" or $_GET['action']=="minus")){
$id=$_GET['id'];
$action=($_GET['a']=="plus")?'рейтинг+':'рейтинг-';
mysql_query("UPDATE item SET `".$action."`=`".$action."`+1 WHERE `id`='".$id."' ");
}
 
Ребят,спасибо,что откликнулись,но у меня похоже другая проблема или я чего-то не понимаю,мозг кипит уже)но вроде сделал:
мне нужно было условие для товара,т.к рейтинг выводился для всех товаров,а мне нужно к текущему,в итоге из формы(там цмс выводит id текущего товара) скриптом получил этот id,запихал его в параметр в ссылке,в выборке в условие через $_GET указал этот параметр и теперь выводится рейтинг для текущего товара
 
не подскажите,как бы по лучше реализовать запрет на повторное голосование для зарегистрированного пользователя?
можно создать таблицу с id юзера,id товара и проверять,голосовал ли юзер или нет,но,насколько такой способ оправдывает себя,ведь эта таблица разрастется быстро до неведомых размеров...
 
можно ставить куку, когда юзер голосует, ну и, соответственно, проверять наличие куки
 
не хотелось бы использовать куки и ip-куки можно почистить,ip может быть динамическим или же юзать прокси
 
ну если человек настолько хочет накрутить рейтинг, что начал юзать прокси и чистать куки, поверь, он накрутит, как ни защищайся...
 
Назад
Сверху