Pagina 1 din 1

Afisare date cu actualizare la ora x

Scris: Vin Oct 21, 2016
de sagap
Salut,

Incerc sa afisez date aleatoriu din baza de date, iar la o anumita ora sa fie actualizata. De ex. 22:00:00, iar aceste date sa fie afisate pana a doua zi la ora 21:59:59. As prefera sa fac acest lucru fara a introduce intervalul de ore in DB.
Am ramas fara idei. Asa ca apelez la voi.

Folosesc urmatorul cod:

Cod: Selectaţi tot

$time = date("Ymd"); 	
$sql = "SELECT id, idvideo, picture, alt FROM `table` ORDER BY RAND('$time') LIMIT $offset, $rowsperpage " ;
$result = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);  

while ($list = mysql_fetch_assoc($result)) {  

  $id[] = $list['id'];
  $idvideo[] = $list['idvideo'];
  $image[] = $list['picture'];
  $text[] = $list['alt'];
}

mysql_close();

for($i=0; $i<count($id); $i++) {
    echo '<a href="link/'.$idvideo[$i].'" target="_blank" class="padre"><img src="'.$image[$i].'" alt="'.$text[$i].'" style="width:488px;height:366px">';
}
  

Afisare date cu actualizare la ora x

Scris: Vin Oct 21, 2016
de MarPlo
Salut
Problema e asemanatoare cu cea pusa aici: reimprospatare-rezultate-interval-timp-mysql-t2379.htm
Datele se salveaza si se preiau dintr-un fisier pe server; Select-ul in mysql se face doar la actualizare in fisier.
Ca sa se faca reactualizarea datelor in fisier salvat pe server in functie de o anumita ora din ziua curent, poti adapta codul din raspunsul dat la acea pagina, si inlocuisti:

Cod: Selectaţi tot

if(file_exists($fpath) && (time() - filemtime($fpath)) <3600) $pdata = file_get_contents($fpath);
else {
//...
}

echo $pdata;
Cu acesta:

Cod: Selectaţi tot

$time22 = strtotime('today 22:00');
$ftime = filemtime($fpath);
if((time() < $time22 && ($time22 - $ftime) <(3600 *24)) || ($ftime > $time22)) $pdata = file_get_contents($fpath);
else {
//actualizare din mysql
}

echo $pdata;