Тема: Поиск треков

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

2

Re: Поиск треков

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

Re: Поиск треков

пишет features:

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

ну я пользуюсь базой данных mysql) мне нужно чтобы пользователи находили треки которые играли . что то типа этого http://europaplus.ua/programs/playlist

4

Re: Поиск треков

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

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

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

Re: Поиск треков

пишет features:

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

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

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

http://radiotalk.ru/viewtopic.php?id=7068 вот здесь мы делали историю эфира,  в базе данных есть все треки

6

Re: Поиск треков

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

Re: Поиск треков

пишет features:

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

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

Re: Поиск треков

пишет Aleksandr.Boyko:

пишет features:

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

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

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

9

Re: Поиск треков

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

Re: Поиск треков

пишет features:

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

то-есть если я вас правильно понимаю в это скрипт нужно добавить  time <= min AND time >= max

<?php
date_default_timezone_set( 'Europe/Kiev' );
mysql_connect("localhost", "Сюда имя пользователя БД", "Сюда пароль") or die (mysql_error ());
mysql_select_db("Сюда имя вашей БД например PESNI") or die(mysql_error());
mysql_query("SET NAMES 'utf8'");
$res = "SELECT Title, time FROM songs ORDER BY time DESC limit 5";
$rs = mysql_query($res);
while($row = mysql_fetch_array($rs)) {
echo $row['time'] . " " . $row['Title'] . "<br />";
}
mysql_close();
?>

11

Re: Поиск треков

Я в условии выше знаки перепутал smile
Должно быть больше минимального, но меньше максимального.
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 15:48:24)

Re: Поиск треков

пишет features:

Я в условии выше знаки перепутал smile
Должно быть больше минимального, но меньше максимального.
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 можно не указывать, тогда вы получите весь список.

а как сделать календарь как здесь http://europaplus.ua/programs/playlist

13

Re: Поиск треков

Вот инструменты с помощью которых вы сможете сделать поля для даты и время:
дата: http://jqueryui.com/datepicker/
время: http://jdewit.github.io/bootstrap-timepicker/

Re: Поиск треков

пишет features:

Вот инструменты с помощью которых вы сможете сделать поля для даты и время:
дата: http://jqueryui.com/datepicker/
время: http://jdewit.github.io/bootstrap-timepicker/

Получается  вот это календарь

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script>
  $(function() {
    $( "#datepicker" ).datepicker();
  });
  </script>
</head>
<body>
 
<p>Date: <input type="text" id="datepicker"></p>
 
 
</body>
</html>

А это время

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link type="text/css" href="css/bootstrap.min.css" />
        <link type="text/css" href="css/bootstrap-timepicker.min.css" />
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script>
        <script type="text/javascript" src="js/bootstrap-timepicker.min.js"></script>
    </head>
    <body>
        <div class="input-append bootstrap-timepicker">
            <input id="timepicker2" type="text" class="input-small">
            <span class="add-on">
                <i class="icon-time"></i>
            </span>
        </div>
 
        <script type="text/javascript">
            $('#timepicker2').timepicker({
                minuteStep: 1,
                template: 'modal',
                appendWidgetTo: 'body',
                showSeconds: true,
                showMeridian: false,
                defaultTime: false
            });
        </script>
    </body>
</html>

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

15

Re: Поиск треков

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

Пример формы:

<form action="bal/foo.php">
    <input data>
    <input time_min>
    <input time_max>
    <input submit>
</form>

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

Отредактировано features (19-12-2014 16:28:35)

Re: Поиск треков

пишет features:

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

Примерно так:

<form action="bal/foo.php">
    <input data>
    <input time_min>
    <input time_max>
    <input submit>
</form>

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

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

17

Re: Поиск треков

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

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

У тебя должна получится страница вида:

<html>
    <head>Тут сам знаешь что писать</head>
    <body>
        <div>
            <!-- Тут допустим всякие хедеры, плееры и навигация, прочая вёрстка кароче !-->
        </div>
        <div>
            <!-- Тут у нас типо блок отвечающий за вывод истории треков -->
            <div>
                <!-- Тут див отвечающий фильтр, в котором дату и время пользователь вводит-->
                <form>
                    <p>Date: <input type="text" id="datepicker" name="date"></p>
                    <p>Time min: <input id="timepicker_min" type="text" class="input-small" name="timep_min"></p>
                    <p>Time max: <input id="timepicker_max" type="text" class="input-small" name="timep_max"></p>
                    <input type="submit">
                </form>
                <!-- Под формой располагаем блок вывода результата -->        
                <!-- Результат выводится с помощью php скрипта -->
                <?php
                    // получаем параметры date, timep_min, timep_max в переменные
                    if ( переменные date, timep_min, timep_max определены ) {
                        // выполняем блок который генерит результат
                    } else {
                        // выводим сообщение что треков в этот период не было
                    }
                ?>
            </div>
        </div>
<!-- ну и надо определить 2 тайм пикера -->
        <script type="text/javascript">
            $('#timepicker_min').timepicker({
                minuteStep: 1,
                template: 'modal',
                appendWidgetTo: 'body',
                showSeconds: true,
                showMeridian: false,
                defaultTime: false
            });
            $('#timepicker_max').timepicker({
                minuteStep: 1,
                template: 'modal',
                appendWidgetTo: 'body',
                showSeconds: true,
                showMeridian: false,
                defaultTime: false
            });
        </script>
    </body>
</html>

Re: Поиск треков

а у меня есть скрипт php который записывает треки вот он http://brfmplayer.zz.mu/playlist.php

Re: Поиск треков

пишет features:

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

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

У тебя должна получится страница вида:

<html>
    <head>Тут сам знаешь что писать</head>
    <body>
        <div>
            <!-- Тут допустим всякие хедеры, плееры и навигация, прочая вёрстка кароче !-->
        </div>
        <div>
            <!-- Тут у нас типо блок отвечающий за вывод истории треков -->
            <div>
                <!-- Тут див отвечающий фильтр, в котором дату и время пользователь вводит-->
                <form>
                    <p>Date: <input type="text" id="datepicker" name="date"></p>
                    <p>Time min: <input id="timepicker_min" type="text" class="input-small" name="timep_min"></p>
                    <p>Time max: <input id="timepicker_max" type="text" class="input-small" name="timep_max"></p>
                    <input type="submit">
                </form>
                <!-- Под формой располагаем блок вывода результата -->        
                <!-- Результат выводится с помощью php скрипта -->
                <?php
                    // получаем параметры date, timep_min, timep_max в переменные
                    if ( переменные date, timep_min, timep_max определены ) {
                        // выполняем блок который генерит результат
                    } else {
                        // выводим сообщение что треков в этот период не было
                    }
                ?>
            </div>
        </div>
<!-- ну и надо определить 2 тайм пикера -->
        <script type="text/javascript">
            $('#timepicker_min').timepicker({
                minuteStep: 1,
                template: 'modal',
                appendWidgetTo: 'body',
                showSeconds: true,
                showMeridian: false,
                defaultTime: false
            });
            $('#timepicker_max').timepicker({
                minuteStep: 1,
                template: 'modal',
                appendWidgetTo: 'body',
                showSeconds: true,
                showMeridian: false,
                defaultTime: false
            });
        </script>
    </body>
</html>

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

20

Re: Поиск треков

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

Re: Поиск треков

Народ, кто может помочь в этом вопросе????

22

Re: Поиск треков

А в чем проблема то? Вам уже дали всё что нужно. Проблемы с php - фрилансеры все решат или сами учитесь.

Re: Поиск треков

Сколько будет стоить создание скрипта поиска по базе данных?

24

Re: Поиск треков

Вам не скрипт нужен (он уже есть), а прикрутить этот скрипт к странице сайта. Это коддинг. Нужно писать модуль и вызывать его на странице. Что бы писать модуль, нужен доступ к БД и к сайту соответственно. Я думал тут только по радио разговоры, а тут еще и по программированию.

Re: Поиск треков

пишет pixel:

Вам не скрипт нужен (он уже есть), а прикрутить этот скрипт к странице сайта. Это коддинг. Нужно писать модуль и вызывать его на странице. Что бы писать модуль, нужен доступ к БД и к сайту соответственно. Я думал тут только по радио разговоры, а тут еще и по программированию.

вы такое сможете сделать?