ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
7   •   Посмотреть все темы

Поиск треков

 

120
Александр @Aleksandr_Boyko
Народ, у кого есть скрипт поиска треков, из базы данных?? чтобы можно было выставить дату, и на странице показывались все треки которые играли в определённый промежуток времени

0
68
Алексей @features
А чем вас SQL не устраивает?

0
120
Александр @Aleksandr_Boyko
features пишет:

А чем вас SQL не устраивает?

ну я пользуюсь базой данных mysql) мне нужно чтобы пользователи находили треки которые играли . что то типа этого **********

0
68
Алексей @features
Всё равно должна быть база где хранится список треков. Скорей всего это реляционная база, не важно mssql, mysql или postgresql или ещё чего.
Соответственно у приложения должен быть доступ к базе где хранится история, для получения куска этой истории. Для того чтобы получить кусок истории проигранных треков неоходимо иметь поле дата и время проигрывания (обычный timestamp).
Если весь лог треков пишится в файл, то тут сложнее, так как парсить большой файл на каждый запрос не выгодно, проще скриптом загонять его в реляционную базу и оттуда выдавать результат.
Получается что ваше прилоение должно делать запрос к хранилищу истории, получать список и генерить html страничку.

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

PS.
xxx: у меня игра вылетает при загрузке. На прошлой версии не вылетала. Что делать?
yyy: Тебя зовут Михаил, тебе 19 лет и ты живёшь с мамой.
xxx: Нет, меня зовут Саша, мне 9, живу с бабушкой
yyy: Видишь, из нас плохие ясновидящие. Логи давай. Причём не все, а только конец, там где написано, отчего вылетело.

0
120
Александр @Aleksandr_Boyko
features пишет:

Всё равно должна быть база где хранится список треков. Скорей всего это реляционная база, не важно mssql, mysql или postgresql или ещё чего.
Соответственно у приложения должен быть доступ к базе где хранится история, для получения куска этой истории. Для того чтобы получить кусок истории проигранных треков неоходимо иметь поле дата и время проигрывания (обычный timestamp).
Если весь лог треков пишится в файл, то тут сложнее, так как парсить большой файл на каждый запрос не выгодно, проще скриптом загонять его в реляционную базу и оттуда выдавать результат.
Получается что ваше прилоение должно делать запрос к хранилищу истории, получать список и генерить html страничку.

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

PS.
xxx: у меня игра вылетает при загрузке. На прошлой версии не вылетала. Что делать?
yyy: Тебя зовут Михаил, тебе 19 лет и ты живёшь с мамой.
xxx: Нет, меня зовут Саша, мне 9, живу с бабушкой
yyy: Видишь, из нас плохие ясновидящие. Логи давай. Причём не все, а только конец, там где написано, отчего вылетело.


********** вот здесь мы делали историю эфира, в базе данных есть все треки

0
68
Алексей @features
Всю тему читать лень, пролистал 1ю страницу. Вроде вам там активно отвечали и у вас всё получалось. Тем более там вы создавали базу и писали в неё треки, а выше ответили что базы у вас нет. Получается, у вас есть все необходимые данные для генерации html блока.
Чем отличается вывод последних треков от вывода треков игравших в определённым промежуток времени?

0
120
Александр @Aleksandr_Boyko
features пишет:

Всю тему читать лень, пролистал 1ю страницу. Вроде вам там активно отвечали и у вас всё получалось. Тем более там вы создавали базу и писали в неё треки, а выше ответили что базы у вас нет. Получается, у вас есть все необходимые данные для генерации html блока.
Чем отличается вывод последних треков от вывода треков игравших в определённым промежуток времени?

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

0
120
Александр @Aleksandr_Boyko
Aleksandr.Boyko пишет:

features пишет:

Всю тему читать лень, пролистал 1ю страницу. Вроде вам там активно отвечали и у вас всё получалось. Тем более там вы создавали базу и писали в неё треки, а выше ответили что базы у вас нет. Получается, у вас есть все необходимые данные для генерации html блока.
Чем отличается вывод последних треков от вывода треков игравших в определённым промежуток времени?

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

Человек ставит например дату 19,12,14 и время 08:10-08:20 и ему показывает все треки которые тут играли в это промежуток времени

0
68
Алексей @features
Тот же самый скрипт, что и вывод последних треков. Просто в SQL запросе надо указать between, либо просто добавить условие (time <= min AND time >= max), ну и убрать лишнее.

0
120
Александр @Aleksandr_Boyko
features пишет:

Тот же самый скрипт, что и вывод последних треков. Просто в SQL запросе надо указать between, либо просто добавить условие (time <= min AND time >= max), ну и убрать лишнее.

то-есть если я вас правильно понимаю в это скрипт нужно добавить time <= min AND time >= max
  1. <?php
  2. date_default_timezone_set( 'Europe/Kiev' );
  3. mysql_connect("localhost", "Сюда имя пользователя БД", "Сюда пароль") or die (mysql_error ());
  4. mysql_select_db("Сюда имя вашей БД например PESNI") or die(mysql_error());
  5. mysql_query("SET NAMES 'utf8'");
  6. $res = "SELECT Title, time FROM songs ORDER BY time DESC limit 5";
  7. $rs = mysql_query($res);
  8. while($row = mysql_fetch_array($rs)) {
  9. echo $row['time'] . " " . $row['Title'] . "<br />";
  10. }
  11. mysql_close();
  12. ?>

0
68
Алексей @features
Я в условии выше знаки перепутал :)
Должно быть больше минимального, но меньше максимального.
SELECT Title, time FROM songs WHERE time >= min AND time <= max ORDER BY time DESC limit 5

При этом:
ORDER BY указывает порядок сортировки по указанному полю (тут поле time), где DESC указывает порядок сортировки (ASC от меньшего к большему, DESC от большего к меньшему). В ORDER BY по умолчанию включён порядок сортировки ASC
LIMIT указывает количество строк которое вы желаете получить. LIMIT можно не указывать, тогда вы получите весь список.

Отредактировано features - 19.12.2014
0
120
Александр @Aleksandr_Boyko
features пишет:

Я в условии выше знаки перепутал :)
Должно быть больше минимального, но меньше максимального.
SELECT Title, time FROM songs WHERE time >= min AND time <= max ORDER BY time DESC limit 5

При этом:
ORDER BY указывает порядок сортировки по указанному полю (тут поле time), где DESC указывает порядок сортировки (ASC от меньшего к большему, DESC от большего к меньшему). В ORDER BY по умолчанию включён порядок сортировки ASC
LIMIT указывает количество строк которое вы желаете получить. LIMIT можно не указывать, тогда вы получите весь список.

а как сделать календарь как здесь **********

0
68
Алексей @features
Вот инструменты с помощью которых вы сможете сделать поля для даты и время:
дата: **********
время: **********

0
120
Александр @Aleksandr_Boyko
features пишет:

Вот инструменты с помощью которых вы сможете сделать поля для даты и время:
дата: **********
время: **********

Получается вот это календарь
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>jQuery UI Datepicker - Default functionality</title>
  6. <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
  7. <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  8. <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
  9. <link rel="stylesheet" href="/resources/demos/style.css">
  10. <script>
  11. $(function() {
  12. $( "#datepicker" ).datepicker();
  13. });
  14. </script>
  15. </head>
  16. <body>
  17. <p>Date: <input type="text" id="datepicker"></p>
  18. </body>
  19. </html>

А это время
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link type="text/css" href="css/bootstrap.min.css" />
  6. <link type="text/css" href="css/bootstrap-timepicker.min.css" />
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  8. <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script>
  9. <script type="text/javascript" src="js/bootstrap-timepicker.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="input-append bootstrap-timepicker">
  13. <input id="timepicker2" type="text" class="input-small">
  14. <span class="add-on">
  15. <i class="icon-time"></i>
  16. </span>
  17. </div>
  18. <script type="text/javascript">
  19. $('#timepicker2').timepicker({
  20. minuteStep: 1,
  21. template: 'modal',
  22. appendWidgetTo: 'body',
  23. showSeconds: true,
  24. showMeridian: false,
  25. defaultTime: false
  26. });
  27. </script>
  28. </body>
  29. </html>

Вот теперь возникает вопрос, как это свести, и чтобы они получали данные из моей базы данных

0
68
Алексей @features
Инпуты оборачиваешь в <form action="ССЫЛКА НА ГЕНЕРАТОР БЛОКА ИСТОРИИ"> так же добавляешь кнопку отправки формы <input type="submit">
И в php получаешь значения, обрабатываешь их и подставляешь в SQL запрос.

Пример формы:
  1.  
  2. <form action="bal/foo.php">
  3. <input data>
  4. <input time_min>
  5. <input time_max>
  6. <input submit>
  7. </form>


Только у каждого html-тега ID должен быть уникальный, поэтому тебе нужен будет id для timepicker_min и timepicker_max

Отредактировано features - 19.12.2014
0
120
Александр @Aleksandr_Boyko
features пишет:

Инпуты оборачиваешь в <form action="ССЫЛКА НА ГЕНЕРАТОР БЛОКА ИСТОРИИ"> так же добавляешь кнопку отправки формы <input type="submit">
И в php получаешь значения, обрабатываешь их и подставляешь в SQL запрос.

Примерно так:
  1.  
  2. <form action="bal/foo.php">
  3. <input data>
  4. <input time_min>
  5. <input time_max>
  6. <input submit>
  7. </form>


Только у каждого html-тега ID должен быть уникальный, поэтому тебе нужен будет id для timepicker_min и timepicker_max

Я тебе сейчас покажусь очень наглым и тупым, но я не пойму как это всё сложить в один скрипт

0
68
Алексей @features
Я не знаю php ^_^ Поэтому готовое решения не дам ^_^ В целом я с ним знаком, но практики программирования на нём у меня нет.
Ты привёл 2 страницы, тебе надо объединить их в одну.
Инфа по тегу form: **********

Параметр action ты можешь не указывать, тогда у тебя будет вызываться таже самая страница. Таким образом тебе надо в php сделать условие, что если к тебе не пришли параметры, то запрос к базе не делать.

У тебя должна получится страница вида:
  1.  
  2. <html>
  3. <head>Тут сам знаешь что писать</head>
  4. <body>
  5. <div>
  6. <!-- Тут допустим всякие хедеры, плееры и навигация, прочая вёрстка кароче !-->
  7. </div>
  8. <div>
  9. <!-- Тут у нас типо блок отвечающий за вывод истории треков -->
  10. <div>
  11. <!-- Тут див отвечающий фильтр, в котором дату и время пользователь вводит-->
  12. <form>
  13. <p>Date: <input type="text" id="datepicker" name="date"></p>
  14. <p>Time min: <input id="timepicker_min" type="text" class="input-small" name="timep_min"></p>
  15. <p>Time max: <input id="timepicker_max" type="text" class="input-small" name="timep_max"></p>
  16. <input type="submit">
  17. </form>
  18. <!-- Под формой располагаем блок вывода результата -->
  19. <!-- Результат выводится с помощью php скрипта -->
  20. <?php
  21. // получаем параметры date, timep_min, timep_max в переменные
  22. if ( переменные date, timep_min, timep_max определены ) {
  23. // выполняем блок который генерит результат
  24. } else {
  25. // выводим сообщение что треков в этот период не было
  26. }
  27. ?>
  28. </div>
  29. </div>
  30. <!-- ну и надо определить 2 тайм пикера -->
  31. <script type="text/javascript">
  32. $('#timepicker_min').timepicker({
  33. minuteStep: 1,
  34. template: 'modal',
  35. appendWidgetTo: 'body',
  36. showSeconds: true,
  37. showMeridian: false,
  38. defaultTime: false
  39. });
  40. $('#timepicker_max').timepicker({
  41. minuteStep: 1,
  42. template: 'modal',
  43. appendWidgetTo: 'body',
  44. showSeconds: true,
  45. showMeridian: false,
  46. defaultTime: false
  47. });
  48. </script>
  49. </body>
  50. </html>

0
120
Александр @Aleksandr_Boyko
а у меня есть скрипт php который записывает треки вот он **********

0
120
Александр @Aleksandr_Boyko
features пишет:

Я не знаю php ^_^ Поэтому готовое решения не дам ^_^ В целом я с ним знаком, но практики программирования на нём у меня нет.
Ты привёл 2 страницы, тебе надо объединить их в одну.
Инфа по тегу form: **********

Параметр action ты можешь не указывать, тогда у тебя будет вызываться таже самая страница. Таким образом тебе надо в php сделать условие, что если к тебе не пришли параметры, то запрос к базе не делать.

У тебя должна получится страница вида:
  1.  
  2. <html>
  3. <head>Тут сам знаешь что писать</head>
  4. <body>
  5. <div>
  6. <!-- Тут допустим всякие хедеры, плееры и навигация, прочая вёрстка кароче !-->
  7. </div>
  8. <div>
  9. <!-- Тут у нас типо блок отвечающий за вывод истории треков -->
  10. <div>
  11. <!-- Тут див отвечающий фильтр, в котором дату и время пользователь вводит-->
  12. <form>
  13. <p>Date: <input type="text" id="datepicker" name="date"></p>
  14. <p>Time min: <input id="timepicker_min" type="text" class="input-small" name="timep_min"></p>
  15. <p>Time max: <input id="timepicker_max" type="text" class="input-small" name="timep_max"></p>
  16. <input type="submit">
  17. </form>
  18. <!-- Под формой располагаем блок вывода результата -->
  19. <!-- Результат выводится с помощью php скрипта -->
  20. <?php
  21. // получаем параметры date, timep_min, timep_max в переменные
  22. if ( переменные date, timep_min, timep_max определены ) {
  23. // выполняем блок который генерит результат
  24. } else {
  25. // выводим сообщение что треков в этот период не было
  26. }
  27. ?>
  28. </div>
  29. </div>
  30. <!-- ну и надо определить 2 тайм пикера -->
  31. <script type="text/javascript">
  32. $('#timepicker_min').timepicker({
  33. minuteStep: 1,
  34. template: 'modal',
  35. appendWidgetTo: 'body',
  36. showSeconds: true,
  37. showMeridian: false,
  38. defaultTime: false
  39. });
  40. $('#timepicker_max').timepicker({
  41. minuteStep: 1,
  42. template: 'modal',
  43. appendWidgetTo: 'body',
  44. showSeconds: true,
  45. showMeridian: false,
  46. defaultTime: false
  47. });
  48. </script>
  49. </body>
  50. </html>


Может проще всего организовать поиск из этого файла??7http://brfmplayer.zz.mu/playlist.php

0
68
Алексей @features
А как вы собираетесь этот файл обрабатывать? Если у вас нет навыков работы с php, то придётся учиться. Само по себе оно не заработает так как вы хотите. Либо довольствоваться тем, что уже есть у вас.

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.