SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 12.03.2012 11:17:21

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

вопрос связанный с timestamp

Уважаемые посетители сайта , подскажите что  надо еще указать, чтоб часы в базе данных отображались правильно, а то одни 0000000000
http://s019.radikal.ru/i604/1203/ef/1a500255047c.jpg
может косяк в том что apache не включен тогда подскажите что включить надо
выборка не происходит
вот такая фигня http://s019.radikal.ru/i628/1203/95/43ea99fe786f.jpg
, заранее благодарю

Отредактированно alibaba (12.03.2012 12:18:07)

Неактивен

 

#2 12.03.2012 12:18:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

1. При чем тут оптимизация производительности?
2. Совершенно непонятно о чем идет речь -  где "отображаются одни 0000000000"; какая  "выборка не происходит"; и т.д.

Неактивен

 

#3 12.03.2012 12:23:20

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

А как вы данные в таблицу добавляете? Может вы явно указываете  "0000-00-00 00:00:00"?

Неактивен

 

#4 12.03.2012 12:24:46

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

vasya написал:

1. При чем тут оптимизация производительности?
2. Совершенно непонятно о чем идет речь -  где "отображаются одни 0000000000"; какая  "выборка не происходит"; и т.д.

ну ладно можно было отправить вопрос в отдел для начинающих вы меня убедили
про выборку .Из базы данных надо выбрать информация , относящуюся к конкретно му времени, а у меня в ней даты все одинаковые, вот я и что можно сделать?
нет я переменную = time(); туда посылаю

Отредактированно alibaba (12.03.2012 12:26:35)

Неактивен

 

#5 12.03.2012 12:35:21

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

alibaba написал:

нет я переменную = time(); туда посылаю

Вот тут и происходит ошибка, давайте этот пункт подробней.

Неактивен

 

#6 12.03.2012 12:48:35

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

<?php
    // запуск сессии
    session_start();
    // Покупатель
    $c = session_id();
    // Получить id товара, добавляемого в корзину
    $id = $_GET["id"];
    // Количество товара
    $q = 1;
    // Дата добавления товара в корзину
    $dt = time();

    add2basket($c, $id, $q, $dt);

    header("Location: catalog.php");
?>

Неактивен

 

#7 12.03.2012 12:52:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

Ну и о чем мне должна сказать строка "add2basket($c, $id, $q, $dt);"?
Где непосредственно добавление в базу?
И заодно сразу приведите результат show create table `имя таблицы`;

Неактивен

 

#8 12.03.2012 13:10:11

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

time() возвращает кол-во секунд, с начала эпохи unix. Подозреваю, что именно это значение вы и пытаетесь вставить.
В результате "Illegal DATE, DATETIME, or TIMESTAMP values are converted to the “zero” value of the appropriate type ('0000-00-00' or '0000-00-00 00:00:00'). "
http://dev.mysql.com/doc/refman/5.5/en/datetime.html

Неактивен

 

#9 12.03.2012 13:10:29

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

когда товар отправляется в корзину и происходит фиксация времени во времени с ночала эпохи оно нормально фиксируется, а вот в базе данных ненормально
Видите, вот что происходит из корзины свединья и передаются в базу данных вот в эту таблицуhttp://s019.radikal.ru/i638/1203/cf/6a03578a0452.jpg

Неактивен

 

#10 12.03.2012 13:12:24

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

См предыдущее мое сообщение.

Неактивен

 

#11 12.03.2012 13:15:12

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

$goods = myBasket();
        foreach($goods as $item) {
            $sql = "INSERT INTO orders(
                        author,
                        title,
                        pubyear,
                        price,
                        customer,
                        quantity,
                        datetime
                    ) VALUES(
                        '{$item["author"]}',
                        '{$item["title"]}',
                        {$item["pubyear"]},
                        {$item["price"]},
                        '{$item["customer"]}',// это идентификатор сессии
                        {$item["quantity"]}, $dt)";
                mysql_query($sql) or die(mysql_error());

        }
}
// Пересохранение товаров из корзины в заказы

Отредактированно alibaba (12.03.2012 13:20:08)

Неактивен

 

#12 12.03.2012 13:20:03

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

Хм, а вы мои сообщения читаете?
http://sqlinfo.ru/forum/viewtopic.php?pid=31004#p31004

Неактивен

 

#13 12.03.2012 13:22:23

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

а я вобще с английским плохо дружу подскажите как это исправить

Неактивен

 

#14 12.03.2012 13:26:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

Вносить дату в формате 'YYYY-MM-DD HH:MM:SS' или 'YY-MM-DD HH:MM:SS'
Или если поле определено как timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP то вообще можно не указывать.

Неактивен

 

#15 12.03.2012 13:29:47

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

Нет мненужно время, как не указывать?

Неактивен

 

#16 12.03.2012 13:34:01

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP означает что будет автоматически добавлено текущее время при добавлении.
Или указывайте время явно в правильном формате: 'YYYY-MM-DD HH:MM:SS' или 'YY-MM-DD HH:MM:SS', а не как кол-во секунд.

Неактивен

 

#17 12.03.2012 13:37:12

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

http://s017.radikal.ru/i409/1203/3a/36de8360ed56.jpg
я понял , а как у меня определено я не понимаю я поэтому и показываю таблицу
Мне автоматический вариант подходит

Отредактированно alibaba (12.03.2012 13:40:26)

Неактивен

 

#18 12.03.2012 13:41:33

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

В таблице же написано null нет; по умолчание current_timestamp, т.е. то что требуется.

Неактивен

 

#19 12.03.2012 13:46:43

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

а второй вариант как осуществить? что то мне так не нравится и часы по нолям и подбирать то мне по времени надо из базы
$sql = "SELECT * FROM orders
WHERE customer='$c' AND datetime=".$orderinfo["dt"];

Отредактированно alibaba (12.03.2012 13:48:01)

Неактивен

 

#20 12.03.2012 13:52:34

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: вопрос связанный с timestamp

Второй это явно указывать время в формате 'YYYY-MM-DD HH:MM:SS' или 'YY-MM-DD HH:MM:SS'? Посмотрите php функции времени.

Неактивен

 

#21 12.03.2012 13:56:41

alibaba
Участник
Зарегистрирован: 11.03.2012
Сообщений: 12

Re: вопрос связанный с timestamp

спасибо, посмотрю, а с таблицей ничего делать не надо? надо же переопределить поле как то наверное


Решил проблему просто стал хранить дату/время в BIGINT структуру таблицы тоже поменял
надоело конвертацией заниматься но все ровно спасибо

Отредактированно alibaba (12.03.2012 20:35:57)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson