Bonjour,
J'ai une page vidéos inspirée de ce site: http://www.donaukurier.de/videos/
Dans la partie supérieure (<div id="supra">), il y a le lecteur de youtube (<div id="player_lecteur">)et une div titre de la vidéo en cours de lecture(<div id="player_title">).
Dans la partie inférieure (<div id="infra">), il y a la liste des vidéos.
Les champs de ma table "videos" sont:
- id_youtube : id, primary-key, auto-increment,
- yt_source: identifiant de la vidéo chez youtube (ex: si l'adresse de la vidéo chez youtube est https://www.youtube.com/embed/a1b2c3d4e5, alors yt_source = a1b2c3d4e5),
- medium : image miniature de la vidéo
- titre_video: titre de la vidéo ,tinytext (ex: reportage sur la faune aquatique du lac Baikal)
- date_insert: date d'insertion,
- duree: durée de la vidéo.
La liste des vidéos est affichée sous forme d'onglets , et chaque onglet a plusieurs slides.
Au démarrage, le lecteur affiche la vidéo la plus récente, et dessous son titre.
Quand on click sur une miniature dans la liste des vidéos, elle s'éxécute dans le lecteur, et j'aimerais pouvoir afficher son titre dessous.
N'étant que débutant, et apprenant sur le tas grâce aux forums comme celui-ci, je voudrais savoir comment m'y prendre avec JavaScript ou en Php-MySql.
Voici mon code de la page videos.php. Il est abrégé et dépouillé des blocs hors sujet pour ne pas faire long:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114 <?php require("../modules/config-db.php"); mysql_connect($adresse,$nom,$motdepasse); mysql_select_db($database); mysql_query("SET NAMES 'utf8' "); ?> <div id="container_videos_playlist"> <div id="supra"> <div id="player_container"> <div id="player_wrap"> <div id="player_lecteur"> <?php $sql = "SELECT * FROM videos ORDER BY date_insert DESC LIMIT 0,1"; $resultat = mysql_query($sql); while ( $donnee = mysql_fetch_assoc($resultat) ) { ?> <iframe type="text/html" width="548" height="338" src="https://www.youtube.com/embed/<?php echo $donnee['yt_source']; ?>" frameborder="0" allowfullscreen></iframe>'; <?php } ?> </div> <div id="player_title"> <?php $sql = "SELECT * FROM videos ORDER BY date_insert DESC LIMIT 0,1"; $resultat = mysql_query($sql); while ( $donnee = mysql_fetch_assoc($resultat) ) { ?> <h1><?php echo $donnee['titre_video']; ?>"</h1> <?php } ?> </div> <script> var identifiant; function lancer(identifiant){ document.getElementById('player_lecteur').innerHTML = '<iframe type="text/html" width="548" height="338" src="https://www.youtube.com/embed/'+identifiant+'?autoplay=1" frameborder="0" allowfullscreen></iframe>'; //document.getElementById('player_title')???????????????????? } </script> </div> </div> </div> <div class="bloc_infra"> <div class="title_infra"> <div class="tabs_infra" id="tabs_infra1"> <a href="#sport_loisirs">Sport / Loisirs<span class="petite_fleche"></span></a> <a href="#people_celebrites">People / Célèbrités<span class="petite_fleche"></span></a> </div> </div> <div class="content_infra"> <div id="sport_loisirs"> <div id="carrousel_1"> <div id="slide1" class="slide"> <ul> <?php $sql = "SELECT * FROM videos WHERE rubrique='Sport / Loisirs' ORDER BY date_insert DESC LIMIT 0,8"; $resultat = mysql_query($sql); while ( $donnee = mysql_fetch_assoc($resultat) ) { ?> <li id="<?php echo $donnee['yt_source']; ?>" onclick="lancer(this.id);"> <a href="#"> <div class="img_play"> <?php echo html_entity_decode($donnee['medium']);?> <span class="play_overlay"><img src="../mediatheque/videos/yt_play_medium.png" /></span> </div> <div class="grille_titre"> <div class="ttl"><h1><?php echo stripslashes($donnee['titre_video']);?></h1></div> <span class="date_mise_en_ligne"><?php echo date("d.m.Y",strtotime($donnee['date_insert']));?></span> <span class="duree"><?php echo stripslashes($donnee['duree']);?></span> </div> </a> </li> <?php } ?> </ul> </div> <!----------------ici autres slides de l'onglet_1--------------> </div> </div> <div id="people_celebrites"> <div id="carrousel_2"> <div id="slide1" class="slide"> <ul> <?php $sql = "SELECT * FROM videos WHERE rubrique='people / Célèbrités' ORDER BY date_insert DESC LIMIT 0,8"; $resultat = mysql_query($sql); while ( $donnee = mysql_fetch_assoc($resultat) ) { ?> <li id="<?php echo $donnee['yt_source']; ?>" onclick="lancer(this.id);"> <a href="#"> <div class="img_play"> <?php echo html_entity_decode($donnee['medium']);?> <span class="play_overlay"><img src="../mediatheque/videos/yt_play_medium.png" /></span> </div> <div class="grille_titre"> <div class="ttl"><h1><?php echo stripslashes($donnee['titre_video']);?></h1></div> <span class="date_mise_en_ligne"><?php echo date("d.m.Y",strtotime($donnee['date_insert']));?></span> <span class="duree"><?php echo stripslashes($donnee['duree']);?></span> </div> </a> </li> <?php } ?> </ul> </div> <!----------------ici autres slides de l'onglet_2--------------> </div> </div> <!----------------ici d'autres onglets--------------> </div> </div> </div>
Précision utile: le contenu du titre doit être affiché si click sur la div parente (<li>) et non spécifiquement sur le titre <h1>.
Votre aide m'est vitale.Merci.
Partager