1

Тема: Pal скрипт

Привет всем! smile
В общем есть скрипт:

var P : TPlayer;
var Song : TSongInfo;
var OldTime : DateTime;

OldTime := Now;

PAL.Loop := True; 
PAL.WaitForTime('+00:30:00');

P := SoundFX;
if P <> nil then
If (OldTime>T['07:00:00']) AND (OldTime<=T['00:00:00']) Then
begin
Song := CAT['Station IDs (All)'].ChooseSong(smRandom,NoRules);
if Song <> nil then
begin
P.QueueSong(Song); // 
P.Play; 
end;
end;

И есть ещё один абсолютно идентичный, только каталоги поменял и параметр "OldTime", его выкладывать нету смысла, т.к. он работает нормально, а с этим какая-то беда.
В чём может быть ошибка, в данном скрипте?

2

Re: Pal скрипт

If (OldTime>T['07:00:00']) AND (OldTime<=T['23:59:59']) Then

3

Re: Pal скрипт

Спасибо!
smile ты наверно догадался, что во втором скрипте 

If (OldTime>T['00:00:00']) AND (OldTime<=T['07:00:00']) Then

Отредактировано MoD_X (14-03-2012 16:06:14)

4

Re: Pal скрипт

нет я просто сталкивался с таким приколом, он не считает что 00.00.00 больше чем 07.00.00 и логически это правильно, будет понимать если указать еще дату +1 день

5

Re: Pal скрипт

ещё вопрос, пока ты тут, как сделать на страничке songinfo.php в Samphp, отображение похожих треков по Жанру + исполнителю + названию?

6

Re: Pal скрипт

делать поиск в базе в таблице songlist по даному жанру или исполнителю и тд

7

Re: Pal скрипт

можешь показать пример, пожалуйста smile

8

Re: Pal скрипт

если придерживаться функций samphpweb то примерно так

 $db->open("SELECT * FROM songlist WHERE artist = '". $song["artist"]."' OR genre = '".$song["genre"]."' ");

while($song = $db->row()){
echo $song["artist"]; 
echo "тратата";
echo $song["title"];
}

9

Re: Pal скрипт

ой, спасибо! smile
..почему у меня нет таких друзей...))

10

Re: Pal скрипт

А как их лимитировать, но при этом, чтобы каждый раз рандомно выкидывалось, предположим, 7 треков.И как к ним ссылки прикурить?

11

Re: Pal скрипт

добавить в конец sql запроса ORDER BY RAND() LIMIT 7

ссылки - надо смотреть как он в плейлисте формирует ее и из того исходить, беглым взглядом по скрипту playlist.php

<a href="javascript:songinfo(<? echo $song["songid"]; ?>)">

12

Re: Pal скрипт

спасибо. ссылки прикрутил как-то smile) только один недочёт http://radiobox.su/song=3908 посмотри, пожалуйста, из-за чего наверху названия треков дублироваться могут? Или  лучше код дать?

Отредактировано MoD_X (15-03-2012 18:49:03)

13

Re: Pal скрипт

лучше код

Отредактировано tarasian666 (14-03-2012 17:51:04)

14

Re: Pal скрипт

sad нет, не помогло...

15

Re: Pal скрипт

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

16

Re: Pal скрипт

вот верх:

function PutSongRow(&$song) 
{
 global $rc, $showpic, $darkrow, $lightrow, $showSiteRow, $showBuyRow;
 PrepareSong($song);
 
 $rc++;
 $bgcolor = $darkrow;
 if(($rc % 2)==0) $bgcolor = $lightrow;
 
?> 
 <tr bgcolor="<? echo $bgcolor; ?>">
    <td align="left" colspan="5">
<font size="3" color="#003366"><small><a href="/song=<? echo $song["songid"]; ?>" title='Информация о треке <? echo $song["combine"]; ?> скачать бесплатно и без регистрации'><? 
      echo $song["combine"];  
      ?></a></small></font></td>
<?
}//PutSongRow

/* ## ===================================================================== ## */
?>
<?
 require("config.php");
 $db->open("SELECT * FROM songlist  WHERE ID = $songid AND (songtype='S' OR songtype='V' OR songtype='C') AND (status=0)");
 $song = $db->row();
 $db->open("SELECT * FROM songlist WHERE artist = '". $song["artist"]."' OR genre = '".$song["genre"]."'AND (songtype='S' OR songtype='V' OR songtype='C') AND (status=0) ORDER BY RAND() LIMIT 7 ");
 PrepareSong($song);
?>

тут выводим:

  <tr bgcolor="#002E5B">
    <td align="right" colspan="5" align="center" height="20" background="images/wmenu.gif">
      <p align="center"><font color="#FFFFFF" size="2"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Тебе это понравится!</font></b></font>
    </td>
  </tr>
    <?PHP
    $rc=0;
while($song = $db->row()){
echo $song["artist"]; 
echo "-";
echo $song["title"];
PutSongRow($song);
}
?>

17

Re: Pal скрипт

while($song = $db->row()){
PutSongRow($song);
}

18

Re: Pal скрипт

ну вообще великолепно! smile спасибо тебе огромное! smile

19

Re: Pal скрипт

Ещё вопрос smile tarasian666,как сделать на страничке playlist.php в samphp сортировку не по алфавиту а по стилю или по дате добавления?)

20

Re: Pal скрипт

ORDER BY genre

21

Re: Pal скрипт

не по жанрам не так сделать надо будет...
вот по дате добавления как сделать? пробовал 

$db->open("SELECT * FROM songlist $where ORDER BY date_added ", $limit, $start);

не получается.

22

Re: Pal скрипт

Ещё одни вопрос.

 $db->open("SELECT * FROM songlist  WHERE songtype='S' OR songtype='C' AND status=0 AND artist = '". $song["artist"]."' AND genre = '".$song["genre"]."' ORDER BY rand() LIMIT 10 ");

Запрос "ORDER BY rand" - сильно нагружает сервер, есть-ли альтернатива? Если есть как её можно переменить?

23

Re: Pal скрипт

http://glebov-gin.blogspot.com/2011/03/ … mysql.html

http://www.electrictoolbox.com/msyql-al … r-by-rand/

вообщем гугл в помощь

24

Re: Pal скрипт

понятно sad спасибо!

25

Re: Pal скрипт

хотя странно что при такой выборке rand нагружает, получается ищет всего 1 исполнителя, у него же не пару тисяч треков