Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Подсчёт времени треков
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Подсчёт времени треков

Страниц (1): [1]
 

1. nsbox - 24 Сентября, 2008 - 02:46:16 - перейти к сообщению
Задача такая. В базе данных есть некое число записей (база mp3 треков). В столбце time указано время звучания каждого трека вот в таком формате - 00:00. Нужно узнать общее время треков и вывести его вот в таком формате - 00:00:00.

Кто поможет мне в этом? Возможно и я написал бы данный скрипт, но что-то голова не варит вообще...
2. Вездеход - 24 Сентября, 2008 - 13:45:20 - перейти к сообщению
если в запросе все сделать - то я тут не силен
если просто получить данные и потом посчитать - то можно перевести время в секунды, сожить всё время и после этого уже вывести
3. valenok - 24 Сентября, 2008 - 15:14:18 - перейти к сообщению
попробуйте SELECT SUM(LEFT(`field`,2)*60 + RIGHT(`field`,2))

А вообще поменяйте тип поля и храните там значение в секундах
4. nsbox - 24 Сентября, 2008 - 18:41:46 - перейти к сообщению
всё понятно. теперь в таблице записывается количество секунд одним чеслом и я знаю как их перевести в формат 00:00:00. только возник ещё вопрос. как получить сумму секунд с найденных строк?
5. Вездеход - 24 Сентября, 2008 - 19:34:53 - перейти к сообщению
удалите этот пост =)
6. valenok - 24 Сентября, 2008 - 21:46:11 - перейти к сообщению
SELECT SUM(`field`)
7. nsbox - 25 Сентября, 2008 - 06:50:17 - перейти к сообщению
valenok пишет:
SELECT SUM(`field`)

не работает а точнее выводит - Array
может я что-то делаю не правильно? вот код:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $albom2 = mysql_query("SELECT SUM(time) FROM mp3_treck WHERE albom='$albomid'");
  3. $albomres2 = mysql_fetch_array($albom2);
  4. echo "".$albomres2."";
  5. ?>
8. Вездеход - 25 Сентября, 2008 - 10:38:06 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. может как то так? =)
  2.  
  3. <?PHP
  4. $albom2 = mysql_query("SELECT SUM(time) FROM mp3_treck WHERE albom='$albomid'");
  5. $albomres2 = mysql_fetch_array($albom2);
  6. print_r($albomres2); // чтоб проверить есть ли тут что нить ваапще
  7. ?>


потому что вот тут -
CODE (text):
скопировать код в буфер обмена
  1. $albomres2 = mysql_fetch_array($albom2);
у вас создается массив с результатом
а потом вы его пытаетесь вывести
PHP:
скопировать код в буфер обмена
  1.  echo "".$albomres2.""
;
что не верно.
поэтому для вывода результата надо обращаться к массиву... =)
9. nsbox - 25 Сентября, 2008 - 17:31:53 - перейти к сообщению
Вездеход пишет:
надо обращаться к массиву... =)
публично заявляю я туп в пхп и mysql можно пример кода.
10. valenok - 26 Сентября, 2008 - 12:58:03 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $albom2 = mysql_query("SELECT SUM(`time`) FROM mp3_treck WHERE albom='$albomid'");
  3. $albomres2 = mysql_fetch_result($albom2,0,0);
  4. echo "Общее время альбома: ",floor($albomres2/60),":",($albomres2%60);
  5. ?>

 

Powered by ExBB FM 1.0 RC1