В своей книге посещений я пытаюсь сделать так, чтобы люди могли делать только один пост за один день, но я не знаю, как это происходит. Вот код:
<?php
$user = $username;
$timestamp = time();
$date = date("Y.m.d", $timestamp);
// Look if the user has written something..
$sql="SELECT user, date FROM book WHERE user='$user' AND date=???";
$qry=mysql_query($sql);
$num_rows = mysql_num_rows($qry);
mysql_query($sql);
if($num_rows > 0) {
?>
Today you have written.
<?php
} else {
?>
Action....
<?php } ?>
Я уверен в том что $date
не может быть в «???» так как $date
текущая дата Мне нужна дата записи в базе данных.
Вы должны установить дату последних 24 часов, а затем установить условие больше, чем здесь, если он возвращает записи, чтобы пользователь был записан, а если записей нет, значит, он / она ничего не пишет за последние 24 часа , 86400 — количество секунд в одном дне.
$datelimit = date("Y-m-d h:i:s", time()-86400);
$sql="SELECT user, date FROM book WHERE user='$user' AND date >'$datelimit'";
Вам нужно что-то вроде этого:
SELECT user, date FROM book WHERE user='$user' AND date= CURDATE();
так просто!
[написание книги]//...
mysql_query(sprintf("INSERT INTO book(user,date,text) VALUES('%s',%d,'%s');",$username,mktime(0,0,0),$text);
[чтение книг]
<?php
$user = $username;
$sql="SELECT user, date FROM book WHERE user='$user' AND date=".mktime(0,0,0);
$qry=mysql_query($sql);
$num_rows = mysql_num_rows($qry);
if($num_rows > 0) {
?>
Today you have writed.
<?php
} else {
?>
Action....
<?php } ?>