What about something like this: (un-tested, just off the top
of my head) It'll set a cookie the first time a user gets
to the page, and will then only re-load data every 75+ seconds
(from the time the user first loads data) -- and only updates
the cookie when data is re-loaded
if (date("U") > ($cookie_load+75)) {
print "fetch from DB";
SetCookie("cookie_load", date("U"));
}
else {
print "Loaded ($cookie_load), now ". date("U") ." -- NOT
fetching\n";
}
if (!$cookie_load)
SetCookie("cookie_load", date("U"));
---
Scott Hurring
Systems Programmer
EAC Corporation
[EMAIL PROTECTED]
Voice: 201-462-2149
Fax: 201-288-1515
> -----Original Message-----
> From: Chris Knipe [mailto:[EMAIL PROTECTED]]
> Sent: Monday, May 20, 2002 3:15 AM
> To: [EMAIL PROTECTED]
> Subject: [PHP] Expiring certain session data while keeping the session
> itself
>
>
> Hiya, me again :-)
>
> Is it possible to expire certain session data, while still keeping the
> session itself in tact?
>
> Example...
>
> $_SESSION['AlwaysTrue'] = "True";
> $_SESSION['ExpireThis'] = "10:20:00";
>
> At 10:19:50 the session is registered. AlwaysTrue must
> remain True for as
> long as the session itself is true (as specified in the
> documentation - this
> would be until the browser is closed, or after a certain
> amount of inactive
> time).
>
> However, at 10:20:00 (10 seconds later), I want the
> ExpireThis value of the
> session, to be destroyed, without having to de-register the
> entire session
> (this would then also destroy the AlwaysTrue value...
>
> Am I right in presuming this cannot be done, and I'll have to
> come up with
> my own little function to do this with? If so, how can I see
> at what time a
> session variable was written, or would I need to register the
> time that the
> session variable was set to the session as well? For instance....
>
> $_SESSION['AlwaysTrue'] = "True";
> $_SESSION['ExpireThis'] = "10:20:00";
> $_SESSION['ExpireThisTime'] = "10:19:50";
>
> Then, just do a comparison, and if ExpireThisTime is past
> 10:20:00, then
> just delete that one variable...
>
> There's no easier / better way to do this ??
>
> Basically, I'm needing something like this to bring down the number of
> possible database queries. I have a application which will have new
> information in a database, every 75 seconds. The queries are
> performed on
> every single page that a user is logged in to on a site. To
> make sure that
> the same queries is not issued over and over on the database,
> I want to
> implement some sort of caching where I will only need to do
> another query
> after the database received new information (every 75
> seconds). It's all
> numbers (integers), so I was thinking.... It may well work if
> I can save
> these values to session data, and then just "refresh" the
> session data every
> 75 seconds.... The problem is, there's lots of other
> information saved to
> the session as well, which I cannot afford to loose with a possible
> session_destroy()......
>
> --
> me
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php