Перейти к публикации

опрос, каждый раз отображаються вопросы вместо результатов


Рекомендованные сообщения

newbigmir,

так задумано.

Даже если ты еще раз проголосуешь - голос не будет засчитан!

Ссылка на сообщение
Поделиться на других сайтах

возможно это гуд в плане запросов для бд. но можно это как то пофиксить и выводить результаты для тех кто уже проголосовал, даже если это+1 к запросу бд?

почему нельзя использовать кеширование?

Изменено пользователем newbigmir
Ссылка на сообщение
Поделиться на других сайтах

  newbigmir писал:
почему нельзя использовать кеширование?

Каким образом тогда узнавать проголосовал или нет? тут кеширование не поможет. так что это не +1 запрос а +2 запроса.

Ссылка на сообщение
Поделиться на других сайтах

хм..... не согласен. при острой необходимости можно одним запросом, кэшируя сам результат, но

  newbigmir писал:
но можно это как то пофиксить

не стал бы это относить к багам, всё вполне грамотно сделано.

Ссылка на сообщение
Поделиться на других сайтах

  Al-x писал:
хм..... не согласен. при острой необходимости можно одним запросом, кэшируя сам результат, но

Проверка проголосовал или нет сложнее чем собственно сам вывод и кешируя вывод экономия получится мизерной, так что гораздо разумнее просто отказатся от самого постоянного вывода результатов, на юзабилити это вообще роли не играет.

Вот просто сами вспомните как вы участвуете в опросах на других сайтов, вы же когда проголосуете и посмотрев на результаты что при каждом посещении этого сайта желаете увидеть результаты? думаю нет, в 99% случаев вам этот опрос уже неинтересен.

Ссылка на сообщение
Поделиться на других сайтах

так, всё-таки я на своём сайте сделал прямое отображение. Помещаемость у меня маленькая и проблем с нагрузкой нет.

Если у вас посещаемость большая, не очень рекомендую это делать. а кому надо

modules/vote.php

найти

	  @unlink(ENGINE_DIR.'/cache/system/vote.php');


	  $max++;

   }

  }
добавить после
else {


  if ($is_logged){

  $nick = $member_id['name'];

  $check_sql  = $db->super_query("SELECT count(*) as count FROM ".PREFIX."_vote_result WHERE vote_id='$rid' AND name='$nick'");

  } else {

  $_IP = $db->safesql($_SERVER['REMOTE_ADDR']);

  $check_sql  = $db->super_query("SELECT count(*) as count FROM ".PREFIX."_vote_result WHERE vote_id='$rid' AND ip='$_IP'");

  }


  if ($check_sql['count'] > 0) $flag = 1;


	}


	$vote_skin = $config['skin'];

Изменено пользователем Al-x
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...