SlideShow gonfle la mémoire
Bonjour à tous,
Je dispose d'une page web qui est affiché sur un grand écran tv .
La page web index.php s'occupe afficher en alternance des données récupérées dans mysql ou des photos (aussi récupéré dans mysql).
(elle appel des page en Ajax
Code:
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
| <?php
session_start();
$contenu_fichier = file_get_contents('config.cfg');
$joueurs = explode("\n", $contenu_fichier);
foreach ($joueurs as $joueur)
{
$list = explode(';', $joueur);
$_SESSION[$list[0]] = $list[1];
// echo $_SESSION[$list[0]];
}
// echo "<pre>";
// print_r($_SESSION);
// echo "</pre>";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<title>Titre de la page</title>
<link rel="shortcut icon" type="image/x-icon" href="./?getimg=favicon" />
</head>
<body>
<div id="affichage_agenda" class="cacher" ></div>
<div id="affichage_vo" class="cacher" ></div>
</body>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
var divs = ['affichage_agenda', 'affichage_vo'];
var currentDiv = null;
var afficherDiv = function(div) {
$('.cacher').css('display', 'none');
$('.cacher').html('');
//alert("affichagediv>>>" + div);
if (div == "affichage_agenda")
{
//alert("ok"+$("#id_societe").val());
$.ajax({
type: "POST",
url: "./agenda.php",
data: "idauteur="+$("#societe_icardms").val()+"&idauteur2="+$("#atelier_icardms").val(),
success: function(html){
$("#affichage_agenda").html(html);
$('#affichage_agenda').css('display', '');
}
});
}
else if(div == "affichage_vo")
{
//alert("ok"+$("#id_societe").val());
$.ajax({
type: "POST",
url: "./affichagev2.php",
data: "idauteur="+$("#societe_planetvo").val(),
success: function(html){
$("#affichage_vo").html(html);
$('#affichage_vo').css('display', '');
}
});
}
else
{
alert('error');
}
}
var alternerDiv = function() {
//la div courante est elle dans la liste ? (cas de l'initialisation ou currentDiv = null)
//alert(divs.indexOf(currentDiv));
if(divs.indexOf(currentDiv) > -1) {
// alert("1");
// Si la div courante est la dernière du tableau
if(divs.indexOf(currentDiv)+1 == divs.length) {
//alert("11");
//On affiche la première div de la liste
afficherDiv(divs[0]);
//On change la div courante
currentDiv = divs[0];
}
else {
// alert("12");
// alert(divs.indexOf(currentDiv));
afficherDiv(divs[divs.indexOf(currentDiv)+1]);
currentDiv = divs[divs.indexOf(currentDiv)+1];
}
}
else {
// alert("2");
//On affiche la première div de la liste
afficherDiv(divs[0]);
//On change la div courante
currentDiv = divs[0];
}
//alert(">>>>>"+ currentDiv);
//Prochain changement de div dans 2s
setTimeout(alternerDiv,60000);
}
//Premier changement de div
setTimeout(alternerDiv,60000);
</script>
</html> |
Ci-dessous la page web qui s'occupe d'afficher mes photos dans un slide Show:
Code:
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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
<?php
header('Content-Type: text/html; charset=ISO-8859-15');
mysql_connect($server,$user,$pass) or die('erreur de connexion');
mysql_select_db($db) or die ('impossible de se connecter a la base');
$query = mysql_query("SELECT * FROM `table 1` WHERE Photos <>'' AND CodePvo='kkk' ORDER BY RAND() LIMIT 1");
$query2 = mysql_fetch_array($query);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<title>Titre de la page</title>
<link href="css/sitev2.css" rel="stylesheet" media="all" type="text/css" />
<META HTTP-EQUIV="Refresh" CONTENT="35">
</head>
<html><body >
<div id="haut">
<span style="font-size: 70px; font: bold;"></span><br/>
</div>
<img src="img/logo+marque.png" alt="logo" id="logo"/>
<div id="corp">
</div>
<br/>
<div id="conteneur">
<?php
//ensuite pour parcourir ton tableau :
$tab_string = explode("|", $query2["Photos"]);
//ensuite pour parcourir ton tableau :
echo '<script type="text/javascript">
function randomImg(){
var tabImg = new Array();';
for($i = 0; $i <count($tab_string); $i++){
echo 'tabImg['.$i.'] = "'.$tab_string[$i].'";';
//echo '<img src="photos/'.$tab_string[$i].'" alt="img" style="width:25%;" />';
}
echo "document.getElementById('image').src += tabImg[Math.round(Math.random()*4)];
}
</script>";
$tab_string2 = explode("|", $query2["Photos"]);
//ensuite pour parcourir ton tableau :
echo '<div id="image">
<div class="slideshow"><ul>';
for($i = 0; $i <count($tab_string2); $i++){
echo '<li><img src="photos/'.$tab_string2[$i].'" alt="" class="coin" width="800" height="600"/></li>';
}
echo '</ul></div></div> ';
//<img src="photos/" id="image" style="width:25%" class="coin"/>
echo '<table id="enteteagenda">
<tr >
<td>'.$query2["Marque"].'</td>
<td style="text-align:right;"> <span class="bleu"></span></td>
</tr>';
echo '<tr colspan="2"><td>'.$query2["Modele"].''.$query2["Version"].'</td></tr>';
//echo ' <table id="tableagenda" cellspacing="0" cellpadding="0" border="0">';
echo '
</table>';
///
echo '<table id="tableagenda2"><tr><th colspan="2"></th></tr>';
$nbCols = 2; // nombre de colonnes du tableau
$cpt = 0; // compteur d'éléments
$tab_string = explode("|", $query2["EquipementsSerieEtOption"]);
for($i = 0; $i <12; $i++){
if ($cpt%$nbCols==0) // on divise le nb d'élément par le nb de colonnes. Si le reste est de 0 ...
echo '<tr>'; // ..., alors on est sur le premier élément d'une ligne
// On place chaque élément dans une cellule du tableau
echo '<td>';
echo $tab_string[$i]; // affichage de tout ce qu'on veut dans la cellule
echo '</td>';
// fin d'une ligne
if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ...
echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
$cpt++; // on incrémente le compteur pour savoir où on en est
}
if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille...
echo '</tr>'; // ... et on ferme la ligne
}
echo '</table>';
?>
</div>
<div id="footer"></div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
setInterval(function(){
$(".slideshow ul").animate({marginLeft:-350},1200,function(){
$(this).css({marginLeft:0}).find("li:last").after($(this).find("li:first"));
})
}, 6000);
});
</script>
</body>
</html> |
Je rencontre deux problème avec cette page:
- Au bout d'un moment l'ordinateur ou la page web tourne en boucle commence à saturer au niveau de la ram.
Est-ce que dans ma page j'ai pas oublié un bout de code pour vidé la mémoire ? (au niveau des photos par exemple)
- Le slideshow fonctionne mais au bout d'un moment les images se décale. Dans le cadre ou les images doivent défilé chaque une à la suite des autres au bout d'un moment je vois la moitié de deux images (l'image actuel et l'image suivante)
Pourriez-vous m'indiquer ou est-ce que j'ai commis une erreur ?
Merci d'avance pour vos explications.
guigui69