Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

PHP, HTML, Joomla, WordPress, etc..
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 914
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: SAM 2014.7
Database: MySQL 5.0
Windows: 7 64-bits
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door cyberneticorganism »

Dit script heeft weinig met SAM te maken, het is PHP en onderdeel van de playlist.php welke op de webserver staat geparkeerd (kan je natuurlijk ook in eigen beheer hebben).

Je hebt dus een eigen lokale webserver waar je het op test?
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Nee de site draaid gewoon bij een webhost echter mysql draaid vanaf de stream pc samen met Sam.
als ik dit script upload lijkt het wel of de stream pc dit niet kan bijbenen en slaat helemaal vast.

Groeten

Ron
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Hierbij de complete code van de playlist.php mocht iemand iets zien wat ik niet heb gezien hoor ik dat natuurlijk graag:

Code: Selecteer alles

<?
require("config.php"); 
//  (%u = (1 = maandag) (2= Dinsdag .. (7 = Zondag))), (%H is de tijd 21 = 9 uur `s avonds) 
//$cnr zijn de categorie-nummers/mappen

If         (strftime("%u") == "1" && strftime("%H") >= 01 && strftime("%H") <= 22) { $cnr = "1, 16"; }
    elseif (strftime("%u") == "1" && strftime("%H") >= 12 && strftime("%H") <= 23) { $cnr = "1, 17"; }
    elseif (strftime("%u") == "1" && strftime("%H") >= 21 && strftime("%H") <= 23) { $cnr = "1, 18"; }
    else { $cnr = "'%%'"; }


$where = "WHERE (songtype = 'S' or songtype = 'F') AND (status= '0')"; // this is my modification remove the songtype = 'F'
 
 Def($start,0);
 Def($limit,20);
 Def($search,"");

//########## BUILD SEARCH STRING ################

if ("" == $dcat)
{
    $dcat = "all";
}

if(!empty($search) && !$match) // search for all words in search string
{
    $words = Array();
    $temp = explode(' ',$search);
    reset($temp);
    while(list($key,$val) = each($temp))
    {
        $val = trim($val);
        if(!empty($val))
        $words[] = $val;
    }
         

    $where2 = "";
    reset($words);
    while(list($key,$val) = each($words))
    {
        if(!empty($where2)) $where2 .= " OR ";
        if ("all" == $dcat) // search all fields
         
        {
          $val = "%$val%";

          // echo = "$val";

            $db->AddStr($val); $db->AddStr($val); $db->AddStr($val);
            $where2 .= "(title like '$val') OR (artist like '$val') OR (album like '$val') ";
        }
        else // search selected field only
        {
            $val = "%$val%";
            $db->AddStr($val);
            $where2 .= " ($dcat like '$val') ";

        }
         
    }
    $where .= "AND ($where2) ";
}
else if (!empty($search) && $match == 1) // do exact match search
{
    if ("all" == $dcat) // search exact match in all fields
    {
        $search = "%$search%";
        $db->AddStr($search); $db->AddStr($search); $db->AddStr($search);
        $where2 .= " (title like '$search') OR (artist like '$search') OR (album like '$search') ";
    }
    else // search exact match in selected field only
    {
        $search = "%$search%";
        $db->AddStr($search);
        $where2 .= " ($dcat like '$search') ";
    }
    $where .= "AND ($where2) ";
}

if((isset($letter)) && (!$letter==""))
{
  $nextletter = chr(ord($letter)+1);
  if($letter=='0')
   $where .= " AND NOT((artist>='A') AND (artist<'ZZZZZZZZZZZ')) ";
  else
   $where .= " AND ((artist>='$letter') AND (artist<'$nextletter')) ";
}
else
{
      $letter="";
}

//########## =================== ################


//Calculate total
$tmp = $db->params; //Save params for second query
$db->open("SELECT count(*) as cnt FROM songlist, categorylist $where ");
$row = $db->row();
$cnt = $row["cnt"];

//Now grab a section of that
$db->params = $tmp; //Restore params
$db->open("SELECT songlist.* , categorylist.* FROM songlist, categorylist $where GROUP BY songid ORDER BY artist ASC, title ASC", $limit, $start);

$first = $start+1;
$last  = min($cnt,$start+$limit);
$rc    = $start;

$prevlnk = "";
$nextlnk = "";
if($cnt>0)
{

if(!isset($search))
    { $search=""; }
  $searchstr = urlencode($search);
  $prev = max(0,$start-$limit);
if($start>0)
    $prevlnk = "<a href='?start=$prev&limit=$limit&letter=$letter&search=$searchstr&dcat=$dcat&match=$match'>< Vorige-Previous</a>";
   
  $tmp = ($start+$limit);
  if($tmp<$cnt)
    $nextlnk = "<a href='?start=$tmp&limit=$limit&letter=$letter&search=$searchstr&dcat=$dcat&match=$match'>Volgende-Next ></a>";
}
   
function PutSongRow($song)
{
// Request disable mod by FesterHead
global $rc, $start, $darkrow, $lightrow, $theQueueids, $theQueueArtists, $songWait, $disableRequestsForRecentlyPlayedSongs, $disableRequestsForQueuedSongs, $disableRequestsForQueuedArtists;

$rc++;
$bgcolor = $darkrow;
if(($rc % 2)==0) $bgcolor = $lightrow;


PrepareSong($song);
?><body bgcolor="#000000" text="#FFFFFF">
  <tr bgcolor="<? echo $bgcolor; ?>">
    <td nowrap align="right" width="1%"><font size="2" color="#ffffff"><small><? echo "$rc"; ?></small></font></td>
    <td nowrap><font size="2" color="#ffffff">&nbsp;<small><? echo $song["combine"]; ?></small></font></td>
   
  <td nowrap width="1%">
    <p align="center">
      <font size="2" color="#003366"><?
        $sql['queue'] = mysql_query("SELECT * FROM queuelist INNER JOIN songlist ON (songlist.ID = queuelist.songID) WHERE songlist.artist = '".addslashes($song["artist"])."' AND (songlist.songtype = 'S' OR songlist.songtype = 'P')");
        $assoc['queue'] = mysql_fetch_assoc($sql['queue']);
        if($song['date_played'] > date('Y-m-d H:i:s', time()-720*60)){
          echo '<img src="images/requested.gif" title="'.htmlspecialchars($song["title"]).' by '.htmlspecialchars($song["artist"]).' recent geweest / recently played '.date('M d, Y g:i:s A', strtotime($song["date_played"])).'" border="0">';
        } elseif($song['date_artist_played'] > date('Y-m-d H:i:s', time()-360*60)){
          echo '<img src="images/requested.gif" title="'.htmlspecialchars($song["artist"]).' recent geweest / recently played '.date('M d, Y g:i:s A', strtotime($song["date_artist_played"])).'" border="0">';
        } elseif($song["artist"] == $assoc["queue"]["artist"]){
          echo '<img src="images/queue.gif" title="'.htmlspecialchars($song["artist"]).' deze komt zo / this song is coming " border="0">';
        } else {
          echo '<a href="'.$song["request"].'"><img src="images/request.gif" title="Request '.htmlspecialchars($song["title"]).' by '.htmlspecialchars($song["artist"]).'" border="0"></a>';
        }
      ?></font>
    </p>
  </td>
    
   <td nowrap align="center" width="1%">
      <font size="2" color="#ffffff">&nbsp;</font>
    </td>
   
    <td nowrap><font color="#ffffff" size="2">&nbsp;</font></td>
    <td nowrap>
      <p align="right"><font color="#ffffff" size="2"><small><strong><? echo $song["mmss"]; ?></strong></small></font>
    </td>
  </tr>
<?
}//PutSongRow

/* ## ===================================================================== ## */
?>
<? require("header.php"); ?>
<? require("search.php"); ?>
<table width="98%" border="0" align="center" cellpadding="1" cellspacing="0">
  <tr bgcolor="#002E5B">
    <td colspan="8" align="center" nowrap background="images/bannerredbreed1.gif" bgcolor="#000000">
      <div align="left"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Zoek resultaten: - Search results:</font></b></div></td>
  </tr> 
  
<?
  while($song = $db->row())
   PutSongRow($song);
?>
 
  <tr bgcolor="#002E5B">
    <td colspan="8" align="center" nowrap background="images/bannerredbreed1.gif" bgcolor="#000000"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
   <? echo "$prevlnk"; ?><b>
&nbsp; <font size="1" face="Verdana, Arial, Helvetica, sans-serif">( Resultaat <? echo "$first tot $last van $cnt"; ?> ) &nbsp; </font> </B>  
   <? echo "$nextlnk"; ?></td>
  </tr>   
 
</table>

<? require("footer.php"); ?>
Gebruikersavatar
Wout
Moderator
Berichten: 3307
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Wout »

Nou, ik zie wel een paar dingen.

Code: Selecteer alles

>= 01 && strftime("%H") <= 22) 
>= 12 && strftime("%H") <= 23)
>= 21 && strftime("%H") <= 23)
Dat kan je beter doen van 01 t/m 12 & 12 t/21 & 21 t/m 23.

Vervolgen wijst $cnr nergens naar toe.

Code: Selecteer alles

$where = "WHERE (songtype = 'S' or songtype = 'F') AND (status= '0')"; // this is my modification remove the songtype = 'F'

Code: Selecteer alles

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype='S') AND (status=0) ";

Code: Selecteer alles

$cnr = "'%%'"; 
kan je beter een cijfer geven

Code: Selecteer alles

$cnr = '(4, 5, 6)';
Hopelijk geef het weer inspiratie voor je. :-D
Afbeelding
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Wout schreef:Nou, ik zie wel een paar dingen.

Code: Selecteer alles

>= 01 && strftime("%H") <= 22) 
>= 12 && strftime("%H") <= 23)
>= 21 && strftime("%H") <= 23)
Dat kan je beter doen van 01 t/m 12 & 12 t/21 & 21 t/m 23.
Dit snap ik ff niet geef eens een voorbeeldje aub

Vervolgen wijst $cnr nergens naar toe.

Code: Selecteer alles

$where = "WHERE (songtype = 'S' or songtype = 'F') AND (status= '0')"; // this is my modification remove the songtype = 'F'

Code: Selecteer alles

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype='S') AND (status=0) ";
kijk dat snap zelfs ik

Code: Selecteer alles

$cnr = "'%%'"; 
kan je beter een cijfer geven

Code: Selecteer alles

$cnr = '(4, 5, 6)';
waar staan die 4, 5, 6 voor?

Hopelijk geef het weer inspiratie voor je. :-D
inspiratie genoeg alleen waar haal ik de tijd vandaan, wordt tijd voor een weekje verlof :-)
Gebruikersavatar
Wout
Moderator
Berichten: 3307
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Wout »

[s]Zal vanavond een voorbeeld geven.[/s]
[s]Ben nu 1 van de gelukkige die mag doorwerken in de vakantie. :shock:[/s]
Even een langere lunch-pauze gepakt. :-D

Code: Selecteer alles

If (strftime('%u') == '1' && strftime('%H') >= 01 && strftime('%H') <= 12) { 
        $cnr = '(1, 16)';
}elseif (strftime('%u') == '1' && strftime('%H') >= 12 && strftime('%H') <= 21) { 
        $cnr = '(1, 16, 17)'; 
}elseif (strftime('%u') == '1' && strftime('%H') >= 21 && strftime('%H') <= 23) { 
        $cnr = '(1, 17, 18)'; 
}else { 
        $cnr = '(14, 24)'; //Als er geen geplande programma`s zijn dan standaard cat`s 14 & 24
} 

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype = 'S' or songtype = 'F') AND (status=0) ";
 
Afbeelding
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Top Wout ik zie nu wat ik allemaal fout deed, hij werkt nu (als testje opgeslagen) en ga straks ff aan de gang om hem zo te maken dat hij iedere dag hetzelfde ritueel gaat uitvoeren. Kijken of dat wil met jouw code en anders pruts ik wel wat :-)

Dank voor de hulp!

Ron
Gebruikersavatar
Qtronix
***
Berichten: 67
Lid geworden op: 08 dec 2007, 12:16
SAM-versie: SAM 2018.6
Database: MySQL 4.1
Windows: 7 64-bits
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Qtronix »

fadingfm schreef:Nee de site draaid gewoon bij een webhost echter mysql draaid vanaf de stream pc samen met Sam.
als ik dit script upload lijkt het wel of de stream pc dit niet kan bijbenen en slaat helemaal vast.

Groeten

Ron

Ik heb precies hetzelfde probleem,alleen kan ik jammer genoeg niet bij de sampc,dus wachten totdat een maat van me wakker is zodat die hem kan rebooten.Ik zal waarschijnlijk wel wat fout hebben gedaan.Ik hoop dat jullie me willen helpen ermee,omdat ik niet zo heel veel kijk heb op php.Ik heb al aardig wat voor elkaar door op het forum veel en goed te lezen.
[tt]Greetz[/tt]
Qtronix

Afbeelding
Gebruikersavatar
Wout
Moderator
Berichten: 3307
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Wout »

Post je script (PHP) eens als bijlage.
Afbeelding
Gebruikersavatar
Qtronix
***
Berichten: 67
Lid geworden op: 08 dec 2007, 12:16
SAM-versie: SAM 2018.6
Database: MySQL 4.1
Windows: 7 64-bits
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Qtronix »

Helaas ligt die pc helemaal aan puin.grrrrr
Ik ga er pas weer naartoe na mijn vakantie.

Nu staat er een tijdelijke pc waar sam net op kan draaien hahahahahahahaha.
Maar hij werkt iig.

Zodra die pc weer functioneerd kom ik erop terug.

Kben ondertussen wel dapper op zoek naar nog andere dingen hoor.


Greetz Ed
[tt]Greetz[/tt]
Qtronix

Afbeelding
Gebruikersavatar
Qtronix
***
Berichten: 67
Lid geworden op: 08 dec 2007, 12:16
SAM-versie: SAM 2018.6
Database: MySQL 4.1
Windows: 7 64-bits
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Qtronix »

Nog wel op vakantie,maar toch de pc weten te fixen.

mijn playlist.php is gedeeltelijk aangepast ondertussen met de dagelijkse CAT.

maar nog steeds loopt de pc helemaal vast zodra de pagina opgeroepen wordt.

ik hoop dat er een oplossing is.

Code: Selecteer alles

 <?

 require("config.php");

 //  (%u = (1 = maandag) (2= Dinsdag .. (7 = Zondag))), (%H is de tijd 21 = 9 uur `s avonds) 
//$cnr zijn de categorie-nummers/mappen

If (strftime('%u') == '2' && strftime('%H') >= 21 && strftime('%H') <= 22) { 
        $cnr = '(2, 37)';
}elseif (strftime('%u') == '5' && strftime('%H') >= 21 && strftime('%H') <= 23) { 
        $cnr = '(21)'; 
}elseif (strftime('%u') == '6' && strftime('%H') >= 21 && strftime('%H') <= 23) { 
        $cnr = '(21, 2)'; 
}else { 
        $cnr = '(2, 4, 5, 6, 8, 72, 18, 74, 86)'; //Als er geen geplande programma`s zijn dan standaard cat`s 14 & 24
} 

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype='S') AND (status=0) ";


 
 $where = " WHERE (songtype='S') AND (status=0) ";

 Def($start,0);
 Def($limit,50);
 Def($search,"");

 //########## BUILD SEARCH STRING ################

 if(!empty($search))
 {
   $words = Array();
   $temp = explode(' ',$search);
   reset($temp);
   while(list($key,$val) = each($temp))
   {
    $val = trim($val);
    if(!empty($val))
	 $words[] = $val;
   }


   $where2 = "";
   reset($words);
   while(list($key,$val) = each($words))
   {
     if(!empty($where2)) $where2 .= " OR ";
	 $val = "%$val%";
	 $db->AddStr($val); $db->AddStr($val); $db->AddStr($val);
     $where2 .= " (title like :val1) OR (artist like :val2) OR (album like :val3) ";
   }
   $where .= "AND ($where2) ";
}

 if((isset($letter)) && (!$letter==""))
 {
  $nextletter = chr(ord($letter)+1);
  if($letter=='0')
   $where .= " AND NOT((artist>='A') AND (artist<'ZZZZZZZZZZZ')) ";
  else
   {
    $db->AddStr($letter); $db->AddStr($nextletter);
    $where .= " AND ((artist>=:letter) AND (artist<:nextletter)) ";
   }
 }
 else
 {
		$letter="";
 }

 //########## =================== ################

 //Calculate total
 $tmp = $db->params; //Save params for second query
 $db->open("SELECT count(*) as cnt FROM songlist $where ");
 $row = $db->row();
 $cnt = $row["cnt"];

 //Now grab a section of that
 
 $db->params = $tmp; //Restore params
$db->open("SELECT songlist.* , categorylist.* FROM songlist, categorylist $where GROUP BY songid ORDER BY artist ASC, title ASC", $limit, $start);
 
 
 $first = $start+1;
 $last  = min($cnt,$start+$limit);
 $rc    = $start;

 $prevlnk = "";
 $nextlnk = "";
 if($cnt>0)
 {

 if(!isset($search))
	 { $search=""; }
  $searchstr = urlencode($search);
  $prev = max(0,$start-$limit);
  if($start>0)
    $prevlnk = "<a href='?start=$prev&limit=$limit&letter=$letter&search=$searchstr'><< Previous</a>";

  $tmp = ($start+$limit);
  if($tmp<$cnt)
    $nextlnk = "<a href='?start=$tmp&limit=$limit&letter=$letter&search=$searchstr'>Next >></a>";
 }

function PutSongRow($song)
{
 global $rc, $start, $darkrow, $lightrow;

 $rc++;
 $bgcolor = $darkrow;
 if(($rc % 2)==0) $bgcolor = $lightrow;


 PrepareSong($song);
?>
  <tr bgcolor="<? echo $bgcolor; ?>">

    <td nowrap align="right" width="1%"><font size="2" color="#003366"><small><? echo "$rc"; ?></small></font></td>
    <td nowrap><font size="2" color="#003366">&nbsp;<small><? echo $song["combine"]; ?></small></font></td>

<td nowrap width="1%">
      <p align="center"><font size="2" color="#003366"><a href="<? echo $song["request"]; ?>">

<?
$z = " ".$song["date_played"]." ";

$tim = strtotime($z);

$af = time() - $tim;

$da = ($af - ($af % 86400)) / 86400;
$af = $af - ($da * 86400);
$u  = ($af - ($af % 3600)) / 3600;
$af = $af - ($u * 3600);
$n  = ($af - ($af % 60)) / 60;
$af = $af - ($n * 60);
$s  = ($af - ($af % 1)) / 1;

$c  = 0 ;  //aantal dagen sta nu op 4 dagen, kan je ook veranderen in 1 dag ($c = 1 ;)  of 8 dagen ($c = 8 ;), wat je maar wilt, maar je kan alleen maar dagen invullen i.p.v. uren.

if ($da > $c) {
print "<img src=\"images/verzoek.gif\" title=\"Al $da dagen beschikbaar\" alt=\"Radio Op Zijn Best!\" border=\"0\"></a> ";
}
else
{

$dg = $c - $da;
$uu = 23 - $u;
$mi = 59 - $n;
$se = 59 - $s;

if($dg==0)      print "</a><img src=\"images/nverzoek.gif\" title=\"Beschikbaar over $uu uur $mi minuten en $se seconden!\" alt=\"BroadCasterForum.nl!\" border=\"0\"> ";
else if($dg==1) print "</a><img src=\"images/nverzoek.gif\" title=\"Beschikbaar over $dg dag en $uu uur $mi minuten en $se seconden!\" alt=\"BroadCasterForum.nl!\" border=\"0\"> ";
else if($dg>1)  print "</a><img src=\"images/nverzoek.gif\" title=\"Beschikbaar over $dg dagen en $uu uur $mi minuten en $se seconden!\" alt=\"BroadCasterForum.nl!\" border=\"0\"> ";

}




?>
<?



}//PutSongRow

/* ## ===================================================================== ## */
?>

<? require("header.php"); ?>

<? require("search.php"); ?>
<br>

<table border="0" width="98%" cellspacing="0" cellpadding="4">
  <tr bgcolor="#002E5B">
    <td colspan="8" nowrap align="left">
      <b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Playlist results</font></b>
    </td>
  </tr>
<?
  while($song = $db->row())
   PutSongRow($song);
?>

  <tr bgcolor="#E0E0E0">
    <td colspan="8" nowrap align="center">
	<? echo "$prevlnk"; ?>
 &nbsp; ( Showing <? echo "$first to $last of $cnt"; ?> ) &nbsp;
	<? echo "$nextlnk"; ?></td>
  </tr>

</table>

<br>
<? require("search.php"); ?>

[tt]Greetz[/tt]
Qtronix

Afbeelding
Gebruikersavatar
Gerrit
Moderator
Berichten: 882
Lid geworden op: 16 nov 2008, 00:08
SAM-versie: 4.3.6.*
Database: MySQL 4.1
Windows: 7 32-bits
Locatie: Veenendaal
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Gerrit »

Wout schreef:

Code: Selecteer alles

If (strftime('%u') == '1' && strftime('%H') >= 01 && strftime('%H') <= 12) { 
        $cnr = '(1, 16)';
}elseif (strftime('%u') == '1' && strftime('%H') >= 12 && strftime('%H') <= 21) { 
        $cnr = '(1, 16, 17)'; 
}elseif (strftime('%u') == '1' && strftime('%H') >= 21 && strftime('%H') <= 23) { 
        $cnr = '(1, 17, 18)'; 
}else { 
        $cnr = '(14, 24)'; //Als er geen geplande programma`s zijn dan standaard cat`s 14 & 24
} 

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype = 'S' or songtype = 'F') AND (status=0) ";
 
Je hebt deze oplossing van Wout nog steeds niet aangepast ! 8)
Vroeger was ik een twijfelaar, ik ben daar nu niet meer zo zeker van.
en
Ik houd van kritiek, maar ik moet het er wel mee eens zijn.
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Hallo we hebben onze site een kleine make-over gegeven en gelijk dit script online gezet echter hij laad alleen de standaard catagorie en de rest niet. In Sam hebben we netjes 4 cat aangemaakt en volgens het linkje op de website van Wout kloppen deze ook met de nummers die we in het script verwerkt hebben. Wat gaat hier niet goed ?

Code: Selecteer alles

<?
require("config.php");  
//$cnr zijn de categorie-nummers/mappen
If (strftime('%H') >= 01 && strftime('%H') <= 12) {
	$cnr = '(1, 17)';
}elseif (strftime('%H') >= 12 && strftime('%H') <= 17) {
	$cnr = '(1, 16)'; 
}elseif (strftime('%H') >= 17 && strftime('%H') <= 01) {
	$cnr = '(1, 18)'; 
}else { $cnr = '(1)'; //Als er geen geplande programma`s zijn dan standaard cat`s 1
} 

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype = 'S' or songtype = 'F') AND (status=0) ";

Hopenlijk ziet iemand wat ik weer eens niet zie :-)

Alvast bedankt:

Ron
Gebruikersavatar
Wout
Moderator
Berichten: 3307
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Wout »

Code: Selecteer alles

>= 17 && strftime('%H') <= 01
Het is 17 t/m 24 uur en 00 t/m 01.

Scripts (PAL/PHP) kunnen niet naar een volgende dag kijken. (kan wel, maar dan komt er een symbool/regels bij)
Het is altijd 1 dag van 00 t/m 24 uur.
Afbeelding
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Code: Selecteer alles

<?
require("config.php");  
//$cnr zijn de categorie-nummers/mappen
If (strftime('%H') >= 00 && strftime('%H') <= 12) {
	$cnr = '(1, 17)';
}elseif (strftime('%H') >= 12 && strftime('%H') <= 17) {
	$cnr = '(1, 16)'; 
}elseif (strftime('%H') >= 17 && strftime('%H') <= 24) {
	$cnr = '(1, 18)'; 
}else { $cnr = '(1)'; //Als er geen geplande programma`s zijn dan standaard cat`s 1
} 

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype = 'S' or songtype = 'F') AND (status=0) ";
helemaal super van je hij lijkt nu te werken alleen snap ik nou niet wat het verschil is tussen 00 uur en 24 uur

Dus volgens mij als ik het script goed lees komt van 00 uur t/m 12 uur cat 1 en 17
tussen 12 uur en 17 uur cat 1 en 16
tussen 17 uur en 24 uur cat 1 en 18

dus 00 uur is gelijk aan 24 uur???

Groeten Ron
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Hallo.

Het is nu 12 uur geweest dus volgens het script zou nou ipv cat 1 en 17 (hierin staan 12 inch)
cat 1 en 16 moeten worden geladen, echter hij blijft alleen cat 1 en 17 weergeven (?)

of snap ik hem nu helmaal niet meer :-)

Groeten Ron
Gebruikersavatar
Wout
Moderator
Berichten: 3307
Lid geworden op: 03 dec 2007, 14:17
Answers: 1
SAM-versie: SAM 2019.3
Database: MySQL 8.0
Windows: Windows 10
Locatie: Bergen op Zoom
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Wout »

fadingfm schreef:

Code: Selecteer alles

 >= 00 && strftime('%H') <= 12) {
>= betekend groter en gelijk aan 00 uur
<= betekend kleiner en gelijk aan 12 uur

Dus oplossing is dan <12 (kleiner als 12 uur)
En de volgende regel is >= 12 (groter en gelijk aan 12)

Code: Selecteer alles

If (strftime('%H') >= 00 && strftime('%H') < 12) { $cnr = '(1, 17)';
}elseif (strftime('%H') >= 12 && strftime('%H') < 17) { $cnr = '(1, 16)'; 
Afbeelding
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

eh nog vreemder het is nu 13.00 en de 12 inch zijn verdwenen en de andere cat is geladen (schiet mij maar lek) :?
fadingfm

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door fadingfm »

Aha ik denk dat het viruele kwartje is gevallen dus het zou zo moeten worden:

Code: Selecteer alles

//$cnr zijn de categorie-nummers/mappen
If (strftime('%H') >= 00 && strftime('%H') <= 11) {
	$cnr = '(1, 17)';
}elseif (strftime('%H') >= 12 && strftime('%H') <= 16) {
	$cnr = '(1, 16)'; 
}elseif (strftime('%H') >= 17 && strftime('%H') <= 23) {
	$cnr = '(1, 18)'; 
}else { $cnr = '(1)'; //Als er geen geplande programma`s zijn dan standaard cat`s 1
} 

$where = " WHERE categoryid IN $cnr AND categorylist.songid=songlist.id AND (songtype = 'S' or songtype = 'F') AND (status=0) ";
de eerste laad dan van 00uur (is 12 uur snachts) t/m 11uur en 59 minuten.
Daarnaar komt om 12 uur t/m 16 uur en 59 min de tweede
en van 17 uur t/m 23 uur en 59 min de laatste


Snap ik hem nu ?????

Top en bedankt voor het reageren en antwoorden
Gebruikersavatar
Kees
VIP
Berichten: 3015
Lid geworden op: 28 nov 2005, 22:07
Answers: 1
SAM-versie: 4.9.1.*
Database: MySQL 5.0
Windows: 8.1
Locatie: Bergen op Zoom
Contacteer:

Re: Bepaalde categorie zichtbaar op bepaalde tijd in de playlist

Ongelezen bericht door Kees »

FF een tussendoortje van ikke..
Volgens zijn jullie met iets bezig waar ze bij spacialaudio nog van dromen.
Vindt het wel geinig dat ze in dit kleine kikkerlandje verder zijn dan daar in dat grote SAM land. :drinkers:
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht