Création historique des titres diffusés

Plus anciens d’abord Plus récents d’abord

2 messages · 2 308 vues · ouvert

Ce sujet faisait partie des archives de l’ancien forum. Son premier et son dernier message ont été repris ; les réponses intermédiaires n’ont pas pu être récupérées.

casa36Membres
·17 messages

Bonjour,

 

Je suis en train de réaliser un nouveau site pour la radio où je suis bénévole (chut ! c'est une surprise), et j'aimerais comme sur l'ancien qu'il y est un système d'historique de titres. Malheureusement n'étant pas super doué en dev (voir même allergique je dirais), je ne peux rien récupérer de l'ancien CMS pour avoir une base car le code source est chiffré... Le futur site utilise wordpress.

 

Mais je pense que ça ne doit pas être super compliqué à réaliser. J'ai déjà mis en place l'envoi du titre en cours dans un fichier txt avec webradiotools.

 

Je pensais donc lire ce fichier à intervalle régulier, et stocker la liste des 30 dernières chansons (c'est bien suffisant à mon avis) dans un autre fichier puis afficher le tout sur le site, avec un peu de css pour embellir le tout. Un affichage de l'heure avant le titre serait un plus si c'est possible.

 

Pour le moment, j'ai écrit ça : (oui je sais c'est très simpliste)

<?php$fp = fopen ("title.txt", "r");$contenu_du_fichier = fgets ($fp);$cheminHisto = 'histo.txt';$titre = fopen($cheminHisto, 'w+');fputs($titre, $contenu_du_fichier);fclose($titre);fclose ($fp);?>

Il faut maintenant que ça fasse une liste (en gros un simple retour à la ligne) dans la limite de 30, et je n'arrive pas  trouver la fonction kivabien... J'ai essayé avec :

fputs($titre, "\n");fputs( $titre, $contenu_du_fichier);

Mais ça se contente de dupliquer le même titre sur 2 lignes comme je le pensais. Et j'ai eu beau chercher, je n'ai pas trouvé d'exemple de ce que je veux faire...

 

Merci d'avance

Vous avez quelque chose à dire ?

Connectez-vous ou créez un compte pour répondre, en texte ou en message vocal.

casa36Membres
·17 messages

Je crois que j'ai enfin trouvé la solution : fini les if et else, j'exécute à chaque fois une comparaison avec la date d'ajout, et tout les titres périmés d'un jour sont supprimés et hop. Du coup ça a drôlement raccourci le code, on ne peut pas faire plus simple à mon avis.

 

Une fois intégré au script WRT, ça fonctionne comme l'autre. Y'a plus qu'à attendre  voir si la suppression des titres est effective.

<?php$heure = date("H:i");$fp = fopen ("title.txt", "r");$titre = fgets ($fp);try{    $bdd = new PDO('mysql:host=localhost;dbname=player;charset=utf8', 'user', 'pass');}catch(Exception $e){        die('Erreur : '.$e->getMessage());}$bdd->exec('Delete from player where TO_DAYS(NOW()) - TO_DAYS(ajout_date) > 1');$req2 = $bdd->prepare('INSERT INTO player(heure, titre, ajout_date)VALUES(:heure, :titre, NOW())');$req2->execute(array(    'heure' => $heure,    'titre' => $titre,    ));?>
Vous avez tout lu.2 messages affichés sur 2