Хранение даты в базе данных - PullRequest
0 голосов
/ 14 января 2012

Что ж, у меня есть задача сохранить «цитаты» в базе данных (уже сделали) и отобразить их и отсортировать для самых последних цитат. Я предполагаю, что для получения «самых последних» мне нужно будет сохранить дату / время отправленной цитаты

Я новичок в PHP и пытаюсь учиться, поэтому я не знаю, как именно это сделать.

Вот PHP для добавления кавычек в базу данных. В таблице есть два столбца, которые называются «кавычки» и «id». Я думаю, мне тоже нужно будет сделать столбец для даты?

require('includes/connect.php');


    $quote = $_POST['quote'];
    $quotes = mysql_real_escape_string($quote);


    mysql_query("INSERT INTO entries (quote) VALUES('$quotes')")
    or die(mysql_error());

Как бы я также вставил дату?

Ответы [ 5 ]

1 голос
/ 14 января 2012

Если вам нужны только самые последние кавычки, вы можете просто отсортировать набор результатов по их id DESC, предполагая, что идентификатор является автоматически увеличивающимся значением.

1 голос
/ 14 января 2012

используйте CURDATE(), если вы хотите вставить пример current date

:

$query_auto = "INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE()', CURDATE() )";

, но если вы хотите сделать это вручную, используйте следующее:

$query_manual = "INSERT INTO tablename (col_name, col_date) VALUES ('DATE: Manual Date', '2008-07-04')";

ОБНОВЛЕНИЕ

CREATE TABLE auto_ins
    (
        `MySQL_Function` VARCHAR(30),
        `DateTime` DATETIME,
        `Date` DATE,
        `Time` TIME,
        `Year` YEAR,
        `TimeStamp` TIMESTAMP
    );

INSERT INTO auto_ins
    (`MySQL_Function`, `DateTime`, `Date`, `Time`, `Year`, `TimeStamp`)
VALUES
    (“CURDATE()”, CURDATE(), CURDATE(), CURDATE(), CURDATE(), CURDATE());

SCREEN SHOT

0 голосов
/ 14 января 2012

Используйте этот код:

require('includes/connect.php');


$quote = $_POST['quote'];
$quotes = now().' - '.mysql_real_escape_string($quote);
// THIS WILL ADD THE DATE AND TIME TO YOUR $quotes STRING.


mysql_query("INSERT INTO entries (quote) VALUES('$quotes')")
or die(mysql_error());
0 голосов
/ 14 января 2012

Вам понадобится как минимум пара таблиц, которые представили цитату, и сама таблица котировок.

create table users(id int primary key not null, username varchar(32),pwd varchar(32));

Вы можете добавить любую информацию в эту таблицу, такую ​​как адрес электронной почты и т. Д.

create table quotes (
id int not null , 
user_id integer,
quote_text varchar(256),
inserted_date timestamp default current_timestamp ,primary key (id));
alter table quotes add constraint fk_users foreign key(user_id) references users(id);

В противном случае не стесняйтесь изменять их. Здесь речь идет не о php, а о дизайне БД в целом.

0 голосов
/ 14 января 2012

Да, вам нужен третий столбец, скажем, Most_recent (определяется как дата или дата / время):

mysql_query("INSERT INTO entries (quote, most_recent) VALUES('$quotes', now())")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...