J'ai quelque proposition que j'ai réussi à mettre en place mais il reste un problème dans code PHP !!!
Que pensez-vous de cette solution ?
Code : Tout sélectionner
<HTML Lang="fr">
<HEAD>
<Script type="Text/JavaScript">
function inverser(a,b) {
var t=document.getElementById("tableau");
var tmp;
for ( var l=0;l<t.rows.length;l++ ) {
tmp=t.rows[l].cells[a].innerHTML;
t.rows[l].cells[a].innerHTML=t.rows[l].cells[b].innerHTML;
t.rows[l].cells[b].innerHTML=tmp;
}
}
</Script>
</HEAD>
<BODY>
<table id="tableau" border=4>
<tr><td>1.1</td><td>1.2</td><td>1.3</td></tr>
<tr><td>2.1</td><td>2.2</td><td>2.3</td></tr>
<tr><td>3.1</td><td>3.2</td><td>3.3</td></tr>
<tr><td>4.1</td><td>4.2</td><td>4.3</td></tr>
</table>
<input type="button" value="inverser colonne 2 et colonne 1"
onclick="inverser(1,0);" />
</BODY>
</HTML>
Evidemment, il y aura un bouton sur chaque entête pour pouvoir le basculer à droite ou à gauche !!!
J'ai aussi celle-là qui est pas mal
Code : Tout sélectionner
<html>
<head><title> Test de MoveColums </title>
<script>
function change(n) {
var tb=document.getElementById("tab");
var nbl=tb.rows.length;
var nbc=tb.rows[0].cells.length;
var k=(n<nbc-1)?n+1:0;
for(var i=0;i<nbl;i++){
memo=tb.rows[i].cells[n].innerHTML;
tb.rows[i].cells[n].innerHTML=tb.rows[i].cells[k].innerHTML;
tb.rows[i].cells[k].innerHTML=memo;
} }
</script>
<body>
<table id="tab" border="1">
<tr>
<td onclick="change(this.cellIndex);">Besoin</td>
<td onclick="change(this.cellIndex);">n° Ordre</td>
<td onclick="change(this.cellIndex);">Article</td>
<td onclick="change(this.cellIndex);">Maint.</td>
</tr>
<tr><td>a0</td><td>a1</td><td>a2</td><td>a3</td></tr>
<tr><td>b0</td><td>b1</td><td>b2</td><td>b3</td></tr>
<tr><td>c0</td><td>c1</td><td>c2</td><td>c3</td></tr>
</table>
</body>
</html>