DATEDIFF

Suro

Новичок
Здравствуйте.
Пытаюсь написать код, который будет отображать возраст добавленного торрента в днях.
Код:

PHP:
<?
    $link = mysql_connect("localhost", "tb", "")
        or die("Could not connect: " . mysql_error());
mysql_select_db('tb', $link);

$dnow = mysql_query("SELECT NOW()") or die(mysql_error());
$dt = mysql_query("SELECT `added` FROM `torrents` WHERE id=1") or die(mysql_error());
$sql = mysql_query("SELECT DATEDIFF('$dnow','$dt') as date_difference") or die(mysql_error());
while($row=mysql_fetch_array($sql)) 
{
echo "<tr>";
echo "<td align='center' width='200'>" . $row['date_difference'] . "</td>";
echo "</tr>";
}
echo "</table>";

?>
Просто отображается пустая страница, если вместо $dnow и $dt вручную вписать даты - показывает разницу в днях.
Явно что-то не так, подскажите пожалуйста.
 

Andkorol

Новичок
mysql_query:
Для запросов SELECT, SHOW, DESCRIBE, EXPLAIN и других запросов, возвращающих результат из нескольких рядов, mysql_query() возвращает дескриптор результата запроса (resource), или FALSE в случае ошибки.

Для других типов SQL-запросов, INSERT, UPDATE, DELETE, DROP и других, mysql_query() возвращает TRUE в случае успеха и FALSE в случае ошибки.

Полученный дескриптор результата нужно передать в функцию mysql_fetch_assoc() или любую другую функцию, работающую с результатами запросов.
 

Suro

Новичок
Попробовал вывести через mysql_fetch_assoc() - тоже самое.
Здесь проблема в FROM_UNIXTIME или UNIX_TIMESTAMP()
не могу понять как правильно, в базе хранится в виде 2012-09-12 14:54:21
 

Фанат

oncle terrible
Команда форума
Здесь проблема в FROM_UNIXTIME или UNIX_TIMESTAMP()
если в базе хранится в виде 2012-09-12 14:54:21, то ни одна из этих функций здесь не нужна.
Попробовал вывести через mysql_fetch_assoc() - тоже самое.
если "пробовал" так же неправильно, то неудивительно.
надо, наверное, не "пробовать" всякие бессмысленные метания а сделать единственно правильным способом. описанным во всех учебниках. проверяя все промежуточные результаты.

кстати,мысль сделать всё одним запросом тебе в голову не приходила?
 

fixxxer

К.О.
Партнер клуба
в базе хранится в виде 2012-09-12 14:54:21
"В базе хранится" и "при выборке из базы выводится на экран в строковом представлении" это две большие разницы.

В таблице все поля имеют тип.
 

Suro

Новичок
Оя***, идите товарищи туда, откуда вылезли.
Попросил помощи - накинулись как на врага народа.
Я этим на хлеб не зарабатываю, просто для некоторых нужд решил попробовать сделать этот код.
Вы все такие до*** умные, рассказали где именно проблема, а не тыкали бы мне учебниками, учебники я и без вас читать умею.
 

Фанат

oncle terrible
Команда форума
Во-первых, не стоит так орать.
Во-вторых, "кидаешься" здесь только ты. Больше здесь никто ни на кого не кидался. Тебе наоборот - вежливо и терпеливо отвечают.
Во-третьих, тебе указали, в чем была проблема с твоим старым кодом. Что ты там пробовал потом - мы не знаем, поскольку ты не потрудился привести здесь никакой код. Но виноваты, разумеется, оказались мы.
В-четвертых, если это не твоя профессия, то об этом надо говорить явно, мол "прошу благотворительной помощи" или "ищу того кто напишет мне готовый код за деньги". Но ты ничего такого не написал. Кто виноват? Разумеется, другие посетители форума. Которые тебе все поголовно что-то должны.
В-пятых, как правильно заметил пользователь Вурдалак, почитать учебник - не самая плохая идея. И непонятно, почему она вызывает у тебя такие негативные эмоции. Получение данных из БД - одна из самых базовых операций в РНР. И если даже это не твой заработок, но хотя бы хобби - эту операцию надо выучить назубок. Это должно быть твоей первой проблемой, а не получение разницы в днях.
 

Фанат

oncle terrible
Команда форума
Вурдалак, фу, как не стыдно.
Нельзя уподобляться. И на стилизацию это тоже не тянет, если что.
 

Suro

Новичок
Да-да, извините меня великодушно.
Что это я прям, заставляю вас работать как рабов, простите-извините.
Обнаглел тут совсем в процессе учебы вопросы задавать, я ведь должен все сразу понимать.
Спасибо, за ваши советы по сабжу, которых впрочем и не было...

Всем спасибо!
 

Фанат

oncle terrible
Команда форума
Возможно, я ошибаюсь, но что-то мне подсказывает, что это был сарказм...
 

Andkorol

Новичок
Спасибо, за ваши советы по сабжу, которых впрочем и не было...
Первые же два ответа как раз и были именно по сабжу (точнее, по твоему "коду").
После них весь процесс решения проблемы зависел только от твоего желания/умения читать/понимать_прочитанное.
Тут все просто: ты либо читаешь материалы по ссылкам и с их помощью решаешь свою проблему – либо нет.
Nobody cares, если честно.:D
 

Фанат

oncle terrible
Команда форума
с их помощью решаешь свою проблему – либо нет.
я бы, все-таки, внес поправку:
решать проблему можно и сочетанием - ссылка + форум. прочел, попробовал - не получилось. пришел, показал - поправили.

правда, чтобы это работало, надо немного умерять ЧСВ и не ждать, что все будут бегать за тобой с решением.
в этом смысле чувак явно ошибся дверью :)
 

Suro

Новичок
пришел, показал - поправили
да вот только вы не поправили, а сразу меня идиотом выставлять начали.
код я допилил, там проблема была в синтеске.
получилось не оптимизировано, за то сам смог сделать это, потратив без всяких на то знаний 5 часов.

бегать за собой я никого и не просил, это у вас что-то тут с ЧСВ.

Дал код, если не правильно - скажите как правильно, нет - зачем тогда мне тут разборки? ЧСВ явно не у меня завышено, не умеете нормально общаться - незачем вообще заходить на форум.

Прикол в том, что ни один из ораторов этой темы не подсказал правильный путь решение моей проблемы, зато распетушились как работники года компании "майкрософт", вот тут и все с вами, и с вашим ЧСВ ясно.
 

Фанат

oncle terrible
Команда форума
сразу меня идиотом выставлять начали.
не стоит о себе думать так плохо.
если человек чего-то не знает - это ещё не значит, что он идиот. у него просто мало знаний. это разные вещи.
 
Сверху