Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Gut, erstmal brauchst du eine Datenbank + Tabelle.Nun möchte ich aber 100 Titel haben ,da habe ich gehört das ich das mittels einer datenbank machen kann.
CREATE TABLE songs
(
id UNSIGNED INTEGER AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
interpret VARCHAR(50),
lastPlayed DATETIME
);
for($i = 0; $i < 30; $i++) {
if(feof($sp))
break;
$sp_data .= fread($sp, 31337);
usleep(500000);
}
// Datenbank-Server setzen
function setDbHost($host)
{
$this->dbhost = $host;
}
// Datenbank-Benutzername setzen
function setDbUser($user)
{
$this->dbuser = $user;
}
// Datenbank-Passwort setzen
function setDbPass($pass)
{
$this->dbpass = $pass;
}
// Datenbank-Name setzen
function setDbName($name)
{
$this->dbname = $name;
}
// Songs aus der History holen in ggf. in die Datenbank eintragen
function insert_into_db()
{
// Datenbank-Verbindung aufbauen
$db_connection = mysql_connect($this->dbhost, $this->dbuser, $this->dbpass);
if(!$db_connection)
{
echo "Konnte nicht zur Datenbank verbinden: " . mysql_error($db_connection);
return;
}
if(!mysql_select_db($this->dbname, $db_connection))
{
echo "Konnte Datenbank nicht auswählen: " . mysql_error($db_connection);
mysql_close($db_connection);
return;
}
foreach($this->song_history as $song)
{
// Daten aus dem XML sanitizen
$songTitle = mysql_real_escape_string($song['title'], $db_connection);
$songInterpret = mysql_real_escape_string($song['artist'], $db_connection);
$songLastPlayed = mysql_real_escape_string($song['time'], $db_connection);
// SQL-Query ausführen, um zu prüfen, ob der Song bereits in der DB ist
$result = mysql_query("SELECT COUNT(*) as cnt FROM songs WHERE name = '$songTitle' AND interpret = '$songInterpret' AND lastPlayed = '$songLastPlayed'",
$db_connection);
if(!result)
{
echo "Konnte nicht prüfen, ob Song bereits in Datenbank: " . mysql_error($db_connection);
mysql_close();
return;
}
// Ergebnis abholen und prüfen
$amount = mysql_fetch_row($result);
if($amount['cnt'] == 0)
{
// Der Song ist noch nicht in der Datenbank, also einfügen
if( !mysql_query("INSERT INTO songs (name,interpret,lastPlayed) VALUES ('$songTitle', '$songInterpret', '$songLastPlayed')",
$db_connection)
|| !mysql_insert_id($db_connection) )
{
echo "Konnte Song nicht eintragen: " . mysql_error($db_connection);
mysql_close($db_connection);
return;
}
}
}
// Abschließend noch Datenbank-Verbindung trennen
mysql_close($db_connection);
}
// Das ist die songCronJob.php
include("radio.class.php"); // Klasse einbinden
$radio = new Radio; // Klasse initialisieren
$radio->set_host("XXXXXX "); // ServerURL
$radio->set_port("XXXXXXX "); // Serverport
$radio->set_pass("XXXXX"); // Passwort für den Adminbereich des Servers
$radio->set_serv("shoutcast"); // Legt die Serversoftware fest: "icecast" oder "shoutcast"
$radio->time_format("d.m.Y - H:i:s"); // Datumsformat festlegen. Beispiele unter http://de2.php.net/manual/de/function.date.php
$radio->init(); // Statistik initialisieren
if($radio->status == 1){ // 1 -> Sendung läuft, 0-> keine Sendung
/********** Song History **********/
if(is_array($radio->song_history)){ // Nur ausführen, wenn Songs in der History sind
// DIESE WERTE MUSST DU NATÜRLICH ANPASSEN
$radio->setDbHost("localhost");
$radio->setDbUser("dbuser");
$radio->setDbPass("dbpass");
$radio->setDbName("dbname");
$radio->insert_into_db();
}