ETA voor aankomende nummers in PHP

PHP, HTML, Joomla, WordPress, etc..
Plaats reactie
Gebruikersavatar
Krijn20345
Beginnende SAM-gebruiker
Berichten: 8
Lid geworden op: 30 jul 2010, 17:27
SAM-versie: 4.9.8.
Database: MySQL
Windows: 10
Locatie: Nuland

ETA voor aankomende nummers in PHP

Ongelezen bericht door Krijn20345 »

Hi,

Na jaren heb ik mijn hobby projectje weer eens opgestart. Na wat vormgeving knutselen, SAM-instellingen aanpassen is het nu tijd voor een webpagina.
Ik wil de volgende 3 nummers laten zien, met daarbij de tijd wanneer ze langskomen (19:45 etc.).

Nu heb ik het volgende script al gemaakt, maar kom hier niet verder in.

Code: Selecteer alles

require_once('config.php');


$sql4 = "SELECT * FROM historylist WHERE songtype='S' ORDER BY date_played DESC LIMIT 1 OFFSET 1";
$result4 = mysqli_query($conn, $sql4);

if(mysqli_num_rows($result4) > 0) {
    while ($row = mysqli_fetch_assoc($result4)) {
        $date_played = $row["date_played"];
        $duration = $row["duration"];
        
        $tijd = date("H:i:s",(strtotime($date_played) + $duration));
        var_dump($tijd);
    }
}
    
$sql = "SELECT songlist.artist, songlist.title, songlist.picture, songlist.duration FROM queuelist INNER JOIN songlist ON queuelist.songID=songlist.ID WHERE songtype='S' ORDER BY queuelist.sortID ASC LIMIT 3 ";
$result = mysqli_query($conn, $sql);
 
if (mysqli_num_rows($result) > 0) {
  // output data of each row
    
    
  while($row = mysqli_fetch_assoc($result)) {
    
      $song_duration = $row['duration'];
      $tijd = strtotime($tijd);
      var_dump($song_duration);
      
      
      $html = '<div class="col-12 col-md-12 block"><div class="time">'.date("H:i", $tijd) .'</div><div class="image"><img src="https://sam.krijnermerins.nl/pictures/'.$row["picture"].'" width="90" height="90"></div><div class="info"><p class="title">'.utf8_encode($row["title"]).'<p class="artist">'.utf8_encode($row["artist"]).'</p></div></div>';       
      
      
      echo $html;
      
      
  }
} else {
  echo "0 results";
}

mysqli_close($conn);
Ik probeer om de start tijd van het laatste nummer te krijgen en daar steeds de duur van de komende nummers bij op te trekken, om zo aan de juiste tijd te komen. In SAM staat het allemaal heel makkelijk in de queue, maar ik krijg het meer niet in php/mysql voor elkaar.


Wellicht is hier iemand die mij in de juiste richting kan sturen.

Groeten,
Krijn
Gebruikersavatar
Wout
Beheerder
Berichten: 3501
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: ETA voor aankomende nummers in PHP

Ongelezen bericht door Wout »

Krijn20345 schreef: 28 apr 2021, 19:42 Wellicht is hier iemand die mij in de juiste richting kan sturen.
Zekers kunnen we dat! 8-)

Code: Selecteer alles

<?php
	require_once('config.php') ;
	
	$tijd_nu = mysqli_query($con, "SELECT ROUND((duration/1000) - TIMESTAMPDIFF(second,date_played, now())) seconds FROM songlist ORDER BY date_played DESC LIMIT 1")->fetch_object()->seconds ;
	$DrieQueuelist = mysqli_query($con, "SELECT songlist.artist, songlist.title, songlist.picture, songlist.duration FROM queuelist INNER JOIN songlist ON queuelist.songID=songlist.ID WHERE songtype='S' ORDER BY queuelist.sortID ASC LIMIT 3") ;

	//tijd-ding
	$tijd_tel = time() + $tijd_nu ;	

	if(mysqli_num_rows($DrieQueuelist) > 0) 
	{
		while ($result = $DrieQueuelist ->fetch_object()) 
		{ 
			echo '
				<div class="col-12 col-md-12 block">
					<div class="time">'.date('H:i:s', $tijd_tel).'</div>
					<div class="image">
						<img src="https://sam.krijnermerins.nl/pictures/'.$result->picture.'" width="90" height="90">
					</div>
					<div class="info">
						<p class="title">'.utf8_encode($result->title).'</p>
						<p class="artist">'.utf8_encode($result->artist).'</p>
					</div>
				</div>';       
					
			$tijd_tel = $tijd_tel + $result->duration/1000 ;
		}
	} 
	else 
	{
		echo '0 results' ;		
	}		

	mysqli_close($con) ;
?>
Afbeelding
Gebruikersavatar
Krijn20345
Beginnende SAM-gebruiker
Berichten: 8
Lid geworden op: 30 jul 2010, 17:27
SAM-versie: 4.9.8.
Database: MySQL
Windows: 10
Locatie: Nuland

Re: ETA voor aankomende nummers in PHP

Ongelezen bericht door Krijn20345 »

Wout schreef: 29 apr 2021, 19:58
Krijn20345 schreef: 28 apr 2021, 19:42 Wellicht is hier iemand die mij in de juiste richting kan sturen.
Zekers kunnen we dat! 8-)

Code: Selecteer alles

<?php
	require_once('config.php') ;
	
	$tijd_nu = mysqli_query($con, "SELECT ROUND((duration/1000) - TIMESTAMPDIFF(second,date_played, now())) seconds FROM songlist ORDER BY date_played DESC LIMIT 1")->fetch_object()->seconds ;
	$DrieQueuelist = mysqli_query($con, "SELECT songlist.artist, songlist.title, songlist.picture, songlist.duration FROM queuelist INNER JOIN songlist ON queuelist.songID=songlist.ID WHERE songtype='S' ORDER BY queuelist.sortID ASC LIMIT 3") ;

	//tijd-ding
	$tijd_tel = time() + $tijd_nu ;	

	if(mysqli_num_rows($DrieQueuelist) > 0) 
	{
		while ($result = $DrieQueuelist ->fetch_object()) 
		{ 
			echo '
				<div class="col-12 col-md-12 block">
					<div class="time">'.date('H:i:s', $tijd_tel).'</div>
					<div class="image">
						<img src="https://sam.krijnermerins.nl/pictures/'.$result->picture.'" width="90" height="90">
					</div>
					<div class="info">
						<p class="title">'.utf8_encode($result->title).'</p>
						<p class="artist">'.utf8_encode($result->artist).'</p>
					</div>
				</div>';       
					
			$tijd_tel = $tijd_tel + $result->duration/1000 ;
		}
	} 
	else 
	{
		echo '0 results' ;		
	}		

	mysqli_close($con) ;
?>
Wout,

Je bent een held!

Ik zie een hoop, voor mij, nieuwe termen die ik eens even uit ga pluizen.

Super bedankt!
Gebruikersavatar
radioomega
******
Berichten: 266
Lid geworden op: 18 dec 2020, 22:20
SAM-versie: 2025.3
Database: MariaDB
Windows: 11
Contacteer:

Re: ETA voor aankomende nummers in PHP

Ongelezen bericht door radioomega »

ken iemand mijn vertelen waar ik dit op zeten de bestand of is een lose bestand
Gebruikersavatar
Wout
Beheerder
Berichten: 3501
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: ETA voor aankomende nummers in PHP

Ongelezen bericht door Wout »

Deze zet je op je webhosting waarbij ook de originele samPHP-bestanden staan.
Afbeelding
Gebruikersavatar
radioomega
******
Berichten: 266
Lid geworden op: 18 dec 2020, 22:20
SAM-versie: 2025.3
Database: MariaDB
Windows: 11
Contacteer:

Re: ETA voor aankomende nummers in PHP

Ongelezen bericht door radioomega »

Wout bedankt
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht