Bonjour ,

j'ai une base de données avec des informations assez grandes donc je l'affiche dans une TABLE en php et sur cette table j'applique pas mal de filtre ( par exemple date , OS version .... ) mais vu que la table est très grande et que je le fait sur le client ( donc sans HTTPREQUEST ) je charge toute la table puis j'applique les filtre ( cacher\ afficher des lignes selon les choix de l'utilisateur ) .

vu que ce traitement ce fait en Javascript et qu'il prend par moment un petit peut de temps et pour evité leS LISTE QUI FIGENT j'aimerai bien savoir si on peut avoir quelque choses de plus simpa : loading image ou un truc dans le genre je sais qu'avec ajax ( si je faisé des appel pour les traitement sur le serveur cela est possible avec HTTPREQUEST ) mais sur le client lui même je sais pas comment procedé :s

voila le code Javascript enfin un d'eux qui fait le traitement sur les lignes du tableau .

Code : 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
 
 
function triggersFilterName(id)
{
	var tab = document.getElementsByTagName('td');
	var tabTR = document.getElementsByTagName('tr');
	var selectedGR ;
	var selectedServer ;
	var replaceValue ;
	var modele;
	selectedGR = document.getElementById("triggersName").value;
	selectedServer = document.getElementById("triggersVob").value;
	modele = /name/i;
 
	if(selectedGR == "All" && selectedServer=="All" ) 
	{
	var i ;
	for (i=0; i<tabTR.length; i++)
		tabTR[i].style.display = "";
	}
	else
	{	
	var temp="";
	var td = new Array();
	var k=0;
	for(var i=0;i<tab.length;i++)
	{
		if(modele.test(tab[i].id) ) 
		td[k++] = tab[i].id;
	}
	var j=1 ;
	for(var i=0;i<td.length;i++)
	{
	temp = td[i];
	temp = temp.replace("name","ligne");
	var versionOS = td[i] ;
	versionOS = versionOS.replace("name","vob");
	versionOS = document.getElementById(versionOS).innerHTML.valueOf() ;
 
 
		if((document.getElementById(td[i]).innerHTML.valueOf() == selectedGR || selectedGR =='All' ) && ( selectedServer =='All' || versionOS == selectedServer) )
		{
				if(j%2)
		{
			document.getElementById(temp).style.backgroundColor= "#ffffff";
			document.getElementById(temp).style.color= "#747678";
			j++;
		}
		else
		{
			document.getElementById(temp).style.backgroundColor= "#747678";
			document.getElementById(temp).style.color= "#ffffff";
			j++;
		}
			document.getElementById(temp).style.display = "";
		}
		else
		{
			document.getElementById(temp).style.display = "none";
 
		}
	}
	}
}