Смяна със запомняне

cHuBakA

Registered
Здравейте
Имам малък JS който при всеки рефреш на страницата сменя картинка. Как може да се направи всеки потребител да вижда само една картинка в рамките на зададено време?

Примерно човек X отваря страницата и вижда картинка цветенце. След като отвори пак страницата след 15 минути или след 3 часа отново вижда същото цветенце. Но като отвори страницата на следващия ден картинката вече да бъде друга и само на него да му я показва през целия ден независимо колко пъти посещава страницата. А друг да вижда друга снимка

Надявам се ме разбрахте :shock:
:)
 
<?php

switch (floor(date('i') / 15))
{

case 1:
$img_name = "15 - 29 min";
break;

case 2:
$img_name = "30 - 44 min";
break;

case 3:
$img_name = "45 - 59 min";
break;

default:
$img_name = "0 - 14 min";
break;

}

?>


var img_name = '<?= $img_name ?>';

В променливата $img_name слагаш името на картинката която трябва да се показва. Вземаш часа от сървъра и според него задаваш съответното име.


Може и така:

$img_name = array('0-14','15-29','30-44','45-59');

var img_name = '<?= $img_name[floor(date('i') / 15)] ?>';

Примера който ти давам не е точно това което искаш, но можеш да го пригодиш за твоя случай. Вместо минути използвай дните.
 
Правиш база данни с таблица:
table2 (така съм е писал в кода, може да си я промениш с дргуо име)
И ще взимаме от друга таблица която вече имаш, пътят към снимката.(в кода съм е кръстил само "table")

Правиш 2 полета в таблицата table2:
ip
vreme
img

Пишеш си php кода (писал съм го на място, за това са възможни технически грешки.


Слагаш този (първият код), на всяка страница.

Погледни дали си се свързал с mysql_connect към базата данни също.


PHP:
$rand=rand(0,10);

$vreme=time();
$ipto=rr(addslashes($_SERVER['REMOTE_ADDR']));

$get_pic_user=("SELECT * FROM `table2` WHERE ip='$ipto' ");
if(mysql_num_rows($get_pic_user)==0){

$get_pic_url=mysql_query("SELECT `url` FROM `table` WHERE id='$rand' DESC LIMIT 0,1");

$url_pic=mysql_fetch_assoc($get_pic_url);
if($url_pic){
$url_pic=$url_pic['url'];
mysql_query("INSERT INTO `table2` (ip, vreme, img) VALUES ('$ipto', '$vreme', '$url_pic' )");
 }

}
else {

$tochno_vreme=time()+300; //След плюса задаваш времето в което искаш да се показват брои се в секунди
  
$check_vreme=mysql_fetch_assoc($get_pic_user);
$check_vreme=$check_vreme['vreme'];

if($check_vreme>$tochno_vreme){
mysql_query("DELETE FROM `table2` WHERE ip='$ipto' ");
}

}
//От тук на долу почваме показването на картинката
PHP:
$iptopic=rr(addslashes($_SERVER['REMOTE_ADDR']));

$rowthepic=mysql_query("SELECT * FROM `table2` WHERE ip='$iptopic' ");


if(mysql_num_rows($rowthepic)==0){
$randompic=rand(0,10);
$row_nqkoq=mysql_query("SELECT `url` FROM `table` WHERE id='$randompic' DESC LIMIT 0,1");

$nqkoq=mysql_fetch_assoc($row_nqkoq);

if($nqkoq){
$nqkoq=$nqkoq['url'];
echo " <img src='".$nqkoq."' width='200px' height='200px' /> ";
}
}
else {
$thepic=mysql_fetch_assoc($rowthepic);

echo "<img src='".$thepic['img']."' width='200px' height='200px' />";
}
 

Back
Горе