Solved

Using Timestap to show messages

Posted on 2011-02-16
7
269 Views
Last Modified: 2012-05-11
Hello there,

I have a mysql database that has an arriving timestamp and a departing timestamp. How would i filter, using php, to get the name (also from the database) of the visitor if they current time is between the two timestamps?! and show a message if there is no current visitor?

Many thanks
0
Comment
Question by:maccaj51
  • 3
  • 2
  • 2
7 Comments
 
LVL 14

Expert Comment

by:Kalpan
ID: 34905717
you can query the database using the following

$sqlquery = "SELECT * FROM `dt_tb` WHERE dt BETWEEN '2005-01-01' AND '2005-12-31' ";

$saResults = mysql_query($sqlquery);

while($obResults = mssql_fetch_row($saResults))
{
   echo $obResults[0]." ".$obResults[1]; // change the field/column as your db table
}


0
 

Author Comment

by:maccaj51
ID: 34905732
Im not 100% but i think you may have misunderstood... very sorry if im wrong.

But i need to see whether the current time is between any of the database entries arriving and departing time...
0
 
LVL 27

Expert Comment

by:Lukasz Chmielewski
ID: 34905771
Haven't tested it but try like this (if you have dates in your db) - if a straight timestamp just use UNIX_TIMESTAMP(NOW())

$sqlquery = "SELECT * FROM mytable WHERE UNIX_TIMESTAMP(NOW()) BETWEEN UNIX_TIMESTAMP(mydate1) AND UNIX_TIMESTAMP(mydate2) ";
0
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

 
LVL 14

Expert Comment

by:Kalpan
ID: 34905784
please refer the following query

$sqlquery = "SELECT * FROM `dt_tb` WHERE ".$arr_time." <= CURTIME()  AND ".$dep_time." >=  CURTIME()";
0
 

Author Comment

by:maccaj51
ID: 34905868
hi Roads_Roads,

Your solution works great but how will i then make a different message if there are no returned results?

0
 
LVL 27

Accepted Solution

by:
Lukasz Chmielewski earned 500 total points
ID: 34906084
$sqlquery = "SELECT * FROM mytable WHERE UNIX_TIMESTAMP(NOW()) BETWEEN UNIX_TIMESTAMP(mydate1) AND UNIX_TIMESTAMP(mydate2) ";
$result = mysql_query($sqlquery) or die("wrong query");

if(mysql_num_rows($result) == 0){
   echo"no rows for you !";
}else{
   // here you would output the mysql_fetch_array or just inform that there are rows
   echo"here are the results: <br />";
   while($row = mysql_fetch_array($result)){
      echo"$row[myfield1], $row[myfield2]";
   }
}

Open in new window

0
 

Author Closing Comment

by:maccaj51
ID: 34906103
HERO!
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question