Rafraichir une cellule de tableau

Rafraichir une cellule de tableau - Divers - Programmation

Marsh Posté le 01-02-2010 à 15:21:05    

Bonjour,
 
je souhaiterais faire un include à la place des iframes que j'utilise actuellement sur le code suivant :
 

Code :
  1. <html>
  2. <body style="background-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
  3. alink="#ee0000" link="#0000ee" vlink="#551a8b">
  4. <table style="text-align: left; width: 438px; height: 125px;"
  5. cellpadding="2" cellspacing="2">
  6.   <tbody>
  7.     <tr>
  8.       <td style="height: 110px; width: 110px;"><body style="background-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
  9. alink="#ee0000" link="#0000ee" vlink="#551a8b">
  10. <IFRAME src="http://remzouilleradio.com/cover.php" width=125 height=130 scrolling=no frameborder=0 > </IFRAME>
  11. </body></td>
  12.       <td style="width: 217px;">
  13.       <table style="text-align: left; width: 217px; height: 54px;"
  14. cellpadding="2" cellspacing="2">
  15.         <tbody>
  16.           <tr>
  17.             <td><object
  18. classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  19. codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
  20. id="dewplayer" align="middle" height="50"
  21. width="135"><param name="allowScriptAccess"
  22. value="sameDomain"><param name="movie"
  23. value="dewplayer-stream.swf?mp3=http://listen.radionomy.com/remzouille-radioo&amp;autostart=1"><param
  24. name="quality" value="high"><param name="bgcolor"
  25. value="#000000">
  26.             <embed style="background-color: rgb(102, 102, 102);"
  27. src="dewplayer-stream.swf?mp3=http://listen.radionomy.com/remzouille-radioo&amp;autostart=1"
  28. quality="high" bgcolor="#000000" name="dewplayer"
  29. allowscriptaccess="sameDomain"
  30. type="application/x-shockwave-flash"
  31. pluginspage="http://www.macromedia.com/go/getflashplayer"
  32. align="center" height="50" width="135"></object></td>
  33.             <td style="text-align: center;"><a
  34. href="http://listen.radionomy.com/Remzouille-Radioo.m3u"
  35. target="_blank"><img
  36. style="border: 0px solid ; width: 20px; height: 20px;" alt=""
  37. src="7943-solidsnakest-itunesVista.png"><img
  38. style="border: 0px solid ; width: 20px; height: 20px;" alt=""
  39. src="wmp2.png"><img
  40. style="border: 0px solid ; width: 20px; height: 20px;" alt=""
  41. src="winamp2.png"><br>
  42. <img
  43. style="border: 0px solid ; width: 20px; height: 20px;" alt=""
  44. src="realplayer.png"><img
  45. style="border: 0px solid ; width: 20px; height: 20px;" alt=""
  46. src="logo_vlc.png"><img
  47. style="border: 0px solid ; width: 20px; height: 20px;" alt=""
  48. src="quicktime.gif"></a>
  49. </td>
  50.           </tr>
  51.         </tbody>
  52.       </table>
  53. <small style="font-weight: bold; color: rgb(51, 204, 0);"><span
  54. style="font-family: Arial;">&gt; En ce moment sur RR :</span></small>
  55. <br>
  56. <IFRAME src="http://remzouilleradio.com/titre.php" width=100% height=35 scrolling=no frameborder=0 > </IFRAME>
  57. </td>
  58.       <td>      <img style="border: 0px solid ; width: 83px; height: 10px;"
  59. alt="" src="entre-boutons.bmp"><br><a
  60. href="http://www.remzouilleradio.com/top20/plus.php"
  61. target="_blank"><img
  62. style="border: 0px solid ; width: 83px; height: 45px;" alt=""
  63. src="icone-pour2.bmp"></a><br>
  64.       <img style="border: 0px solid ; width: 83px; height: 20px;"
  65. alt="" src="entre-boutons.bmp"><br>
  66.       <a href="http://www.remzouilleradio.com/top20/moins.php"
  67. target="_blank"><img
  68. style="border: 0px solid ; width: 83px; height: 45px;" alt=""
  69. src="icone-contre2.bmp"></a> </td>
  70.     </tr>
  71.   </tbody>
  72. </table>
  73. </body>
  74. </html>


 
C'est pour faire une partie ONAIR d'une webradio. Il y a donc 2 iframes : une pour afficher le titre en cours qui se trouve sur : www.remzouilleradio.com/titre.php et l'autre pour afficher la pochette qui se trouve sur : www.remzouilleradio.com/cover.php
 
Le probleme est que le systeme d'iframe que j'ai actuellement ne fais pas tres propre : en effet, il ne prend pas seulement l'élément présent sur la page comme l'include, ce qui fait qu'il faut aggrandir en largeur et hauteur cette iframe pour que cela corresponde et qu'on voye bien l'élément, c'est embetant.
 
Mais, le rafraichissement est spécifique aussi pour les2 pages citées un peu plus haut, pour que vous compreniez je vous met le code php des deux pages ( titre.php et cover.php donc ) :
 
TITRE.PHP
 

Code :
  1. <body style="background-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
  2. alink="#ee0000" link="#0000ee" vlink="#551a8b">
  3. <small style="font-weight: bold; color: rgb(255, 255, 255);"><div
  4. style="text-align: center; font-family: Arial; font-weight: bold; color: rgb(255, 255, 255);">
  5. <marquee Class="Scroller" behavior="scroll" direction="left" width="100%" height="100%" scrollamount="4" scrolldelay="0" onMouseOver="this.stop()" onMouseOut="this.start()">
  6. <?php
  7. /*
  8. Nom : Titrage Radionomy
  9. Version : 2.4
  10. Auteur : C-H B.
  11. Sujet : Afficher le titre en cours grâce à l'API de radionomy.
  12. */
  13. // Entrez ici votre RadioUID
  14. $radioUID = "78e9fb5c-e9ea-4b3a-9224-9ce2659d8e97";
  15. /* --------------------------------- */
  16. /* Ne pas toucher au code ci-dessous */
  17. $api = "http://api.radionomy.com/currentsong.cfm?radiouid=".$radioUID."&type=xml";
  18. putenv("TZ=Europe/Paris" );
  19. $file = @fopen($api, 'r');
  20. if ($file){
  21.   $text = implode("",file($api));
  22.   $motif='#<title>(.*?)</title>#is';
  23.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  24.   foreach ($out[1] as $link) {
  25.     $titre = $link;
  26.   }
  27.   $motif='#<artists>(.*?)</artists>#is';
  28.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  29.   foreach ($out[1] as $link) {
  30.     $artiste = $link;
  31.   }
  32.   $motif='#<starttime>(.*?)</starttime>#is';
  33.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  34.   foreach ($out[1] as $link) {
  35.     $debut = substr($link, 0, strpos($link, "." ));
  36.     $debut = strtotime($debut);
  37.   }
  38.   $motif='#<playduration>(.*?)</playduration>#is';
  39.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  40.   foreach ($out[1] as $link) {
  41.     $duree = round($link / 1000) + 17;
  42.   }
  43. }
  44. $actuel = time();
  45. $refresh = $duree - ($actuel - $debut);
  46. echo '<META HTTP-EQUIV="Refresh" CONTENT="'.$refresh.'"> ';
  47. /* Ne pas toucher au code ci-dessus */
  48. /* --------------------------------- */
  49. // Affichage à personaliser : Les variables sont explicites.
  50. echo "<b>".$artiste." - ".$titre."</b>";
  51. ?>
  52. </small></div>
  53. </marquee>


 
----------------------------------------------------------------------------------------------------------------------
 
COVER.PHP
 

Code :
  1. <body style="background-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
  2. alink="#ee0000" link="#0000ee" vlink="#551a8b">
  3. <?php
  4. /*
  5. Nom : Titrage Radionomy
  6. Version : 2.4
  7. Auteur : C-H B.
  8. Sujet : Afficher le titre en cours grâce à l'API de radionomy.
  9. */
  10. // Entrez ici votre RadioUID
  11. $radioUID = "78e9fb5c-e9ea-4b3a-9224-9ce2659d8e97";
  12. /* --------------------------------- */
  13. /* Ne pas toucher au code ci-dessous */
  14. $api = "http://api.radionomy.com/currentsong.cfm?radiouid=".$radioUID."&type=xml&cover=yes";
  15. putenv("TZ=Europe/Paris" );
  16. $file = @fopen($api, 'r');
  17. if ($file){
  18.   $text = implode("",file($api));
  19.   $motif='#<title>(.*?)</title>#is';
  20.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  21.   foreach ($out[1] as $link) {
  22.     $titre = $link;
  23.   }
  24.   $motif='#<cover>(.*?)</cover>#is';
  25.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  26.   foreach ($out[1] as $link) {
  27.     $cover = $link;
  28.   }
  29.   $motif='#<starttime>(.*?)</starttime>#is';
  30.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  31.   foreach ($out[1] as $link) {
  32.     $debut = substr($link, 0, strpos($link, "." ));
  33.     $debut = strtotime($debut);
  34.   }
  35.   $motif='#<playduration>(.*?)</playduration>#is';
  36.   preg_match_all($motif,$text,$out,PREG_PATTERN_ORDER);
  37.   foreach ($out[1] as $link) {
  38.     $duree = round($link / 1000) + 17;
  39.   }
  40.     if( empty($cover) ) {
  41.   $cover='top20/images/pas_pochette.png';
  42. }
  43. }
  44. $actuel = time();
  45. $refresh = $duree - ($actuel - $debut);
  46. echo '<META HTTP-EQUIV="Refresh" CONTENT="'.$refresh.'"> ';
  47. /* Ne pas toucher au code ci-dessus */
  48. /* --------------------------------- */
  49. // Affichage à personaliser : Les variables sont explicites.
  50. echo "<IMG SRC=".$cover." HEIGHT=110px WIDTH=110px ALIGN=center HSPACE=20px>";
  51. ?>
  52. </body>


 
Voilà donc mes questions sont :
 
- Comment rafraichir la cellule ou sera inclu cover.php (pochette, actuellement en iframe sur le code) avec le bon rafraichissement (voir code de la page cover.php)
 
- Comment rafraichir la cellule ou sera inclu titre.php (titre, actuellement en iframe sur le code) avec le bon rafraichissement (voir code de la page titre.php)
 
Merci d'avance pour votre précieuse aide, en espérant que vous m'avez bien compris.


Message édité par remzouille le 01-02-2010 à 16:47:48

---------------
Remzouille Radio, tous tes sons préférés ! 1ere webradio de vitrolles www.remzouilleradio.com :D
Reply

Marsh Posté le 01-02-2010 à 15:21:05   

Reply

Marsh Posté le 01-02-2010 à 16:12:16    

Merci d'utiliser la balise [code] pour mettre ton code. Là, c'est illisible.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-02-2010 à 16:48:07    

et voila :)

Reply

Marsh Posté le 01-02-2010 à 17:46:51    

tu devrais utiliser ajax pour rafraichir dynamiquement de petits contenus de ta page web.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-02-2010 à 18:27:27    

comment faire ?
 
merci

Reply

Marsh Posté le 02-02-2010 à 09:29:57    

En apprenant le javascript et en utilisant des libs style JQuery ou Prototype.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-02-2010 à 11:23:42    

Merci lol
 
en fait je venais demander de l'aide sur un forum pour qu'on m'aide a comprendre justement :S

Reply

Marsh Posté le 02-02-2010 à 12:23:28    

Je t'ai donné la méthode : utiliser ajax pour modifier directement une portion de code html. Je t'ai même donné des noms de libs qui pourront t'aider. A partir de là, tu as toutes les infos et les mots clés pour google. Si tu ne connais pas Javascript, apprends le, tu vas en avoir besoin. Ici, on ne fait pas le code source à la place du demandeur (cf règles de ce forum).  
Donc élabore un code source pour faire ce que tu veux, tu nous le présentes et tu poses des questions précises sur les points où tu bloques.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed