Monday, 15 June 2015

javascript - how to store last 5 checked the form in PHP? -



javascript - how to store last 5 checked the form in PHP? -

i developed gym scheme has check page, page check if fellow member has finished subscription or not, when fellow member come in gym must come in number (each fellow member has unique number stored in database),the database has more 1000 members, want page or if there way know lastly 5 members entered gym).

i.e.:

member1 first 1 entered gym

member2

member3

member4

member5

member6

member7 lastly 1 entered gym

i need store constantly lastly 5 members entered gym in table has 5 rows.

from above illustration lastly 5 members check form :

member3

member4

member5

member6

member7

if fellow member 8 entered, table fellow member 4 8 , on.. .

note : every 5 or 10 minutes enters.

below simple code allow know how check page work

<form method="get" action=""> <input type="text" name="id" id="checkin" /> <input type="submit" value="check" /> </form> $id = $_get['id']; $con = mysqli_connect($host, $dbusername, $password, $dbname); $query = mysqli_query($con, "select * members id = $id"); while ($row = mysqli_fetch_array($query)) { $time = $row['endtime']; $today = date("d-m-y"); if ( strtotime($time) >= strtotime($today) ) { echo “he can come in gym”; } elseif ( strtotime($time) < strtotime($today) ) { echo “he can’t come in gym”; } }

thanks in advance

there few parts question - firstly regarding database design. if want perform kind of operation, simplest way accomplish field lastcheckedtime on database unix timestamp corresponding time fellow member checked gym.

in case next sql can used show lastly 5 members entered gym.

class="lang-sql prettyprint-override">select * members order `lastcheckedtime` desc limit 5;

the 2 functional parts of query are:

class="lang-sql prettyprint-override">order `lastcheckedtime` desc

and

class="lang-sql prettyprint-override">limit 5

the first clause tells sql server give results in descending order of time fellow member lastly checked form. sec tells sql server homecoming first 5 results. if want alter order swap desc asc (ascending).

the value of endtime , lastcheckedtime fields should direct output of php's date() function. date() outputs unix timestamp, integer corresponding number of seconds since 1st jan 1970 00:00. storing dates way can utilize simple maths logic compare dates. above code converts timestamp integer string , timestamp again, waste of resources , less useful in database.

however - aim of designed database table can pull out statistics info in database using simple logic. storing times timestamp go long way towards achieving that. improve (supplementary) method, provide lot more info client, create sec table called checkin, have next columns:

class="lang-sql prettyprint-override">`id` int(8) primary key, `memberid` int(8), `checkedintime` int(8)

every time fellow member entered gym come in new row table. next query accomplish same above:

class="lang-sql prettyprint-override">select * fellow member bring together checkin on member.id = checkin.memberid order checkin.checkedintime desc limit 5;

this provide exact same results - however, if client asks utilize checkin table generate graphs , info when gym used frequently, customers utilize gym often, , other useful information. concept known database normalisation suggest seek read , understand - may seem quite advanced current level, it's worth knowing stage increment worth developer able design systems can provide such value clients.

not strictly related question, there basic errors in php code.

firstly , importantly never allowed place strings straight user input straight query creates sql injection bugs. right method utilize parameterised statements mysqli class. such following:

$conn = new mysqli($host, $dbusername, $password, $dbname); $stmt = $conn->prepare("select * members id = ?"); $stmt->bind_param("i", $_get['id']); $stmt->execute();

the other next snippet of code:

$time = $row['endtime']; $today = date("d-m-y"); if ( strtotime($time) >= strtotime($today) )

this converts timestamp (described above) string , integer again. not wasteful hinders goal of database design described above.

javascript php database mysqli

No comments:

Post a Comment