tri multicritere tableau

chris45
Invité n'ayant pas de compte PHPfrance

01 déc. 2011, 00:18

bonjour,
je n'arrive pas a trier mes couleur dans un ordre d'une palette arc en ciel par exemple

je suis en train de faire un fichier php qui recupere tous les code couleur hexa des fichiers css d'un forum PHPBB3
qui une fois cliquez sur une couleur
transforme l'hexa en rgb
puis rgb en tls (teinte,luminosité et saturation)
avec des curseur on modifie les reglages et une fois ok
retransforme le tls en rgb puis en hexa
puis modifie tous les css contenant l'hexa de depart en hexa final

pour un meilleur choix dans les teinte j'aimerai trier les valeurs hexa recuperer et les afficher dans un ordre style arc en ciel
je pense que le mieux est de trier avec les valeurs tls

lapremiere donne t de 0 à 300 donne la teinte ( bleu,rouge,orange,vert,violet....)
la deuxieme l donne la luminosité de 0(tous blanc) à 100%(tous noir)
la troisieme la saturation de 0(blanc,gris ou noir suivant la luminosité) à 100% (tous rouge,vert ou bleu suivant la teinte)

donc par exemple
couleur 1 (100,70,20)
couleur 2(120,30,40)
couleur3(80,50,80)


comment les trier????


voici mon code complet
<?php
$repertoire="";
if(isset($_GET["repertoire"])){ $repertoire = ($_GET["repertoire"]);}
?>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html lang="en" xml:lang="en">
<head>
	<title>{$langues[$langue]['titreHtml']}</title>
	<meta http-equiv="Content-Type" content="txt/html; charset=utf-8" />


    




<link
     href="slider_default.css"
     rel="stylesheet"
     type="text/css" />

<script
     language="JavaScript"
     src="slider.js" >
 </script>



 
<style type="text/css"> 





.skin_barre  /* on reprend le nom qu'on a mis dans 'class=' */
{
visibility:hidden;
width:30px;
height:300px;
/* on définit la taille du div (celle de l'image) */
 
top:20px;
left:23px;
/* et sa position initiale */
 
position:absolute;
/* le div n'est plus fixe mais libre */
 
background-image:url('degrade.jpg');
/* on définit ici l'image à afficher dans le div */
 
cursor:s-resize;
/* et enfin on définit le curseur à afficher lorsque la souris passe sur ce div */
}
 
/* =====  de même pour les autres  ===== */
 

 

 

 
.skin_resultat
{
position:absolute;
top:330px;
left:60px;
border:1px solid black; /* dessine un cadre autour du 'input' noir et d'un pixel d'épaisseur */
background-color:red;
text-align:center;  /* on aligne le texte au centre */
}
 
.skin_bouton_OK
{
position:absolute;
top:250px;
left:320px;
}


.skin_resultat
{
position:absolute;
top:330px;
left:220px;
border:1px solid black; /* dessine un cadre autour du 'input' noir et d'un pixel d'épaisseur */
background-color:red;
text-align:center;  /* on aligne le texte au centre */
}

.skin_destination
{
position:absolute;
top:250px;
left:880px;
border:1px solid black; /* dessine un cadre autour du 'input' noir et d'un pixel d'épaisseur */
background-color:red;
text-align:center;  /* on aligne le texte au centre */
}

.checkbox
{
position:absolute;
top:330px;
left:5px;

}

.skin_source
{
position:absolute;
top:250px;
left:30px;
border:1px solid black; /* dessine un cadre autour du 'input' noir et d'un pixel d'épaisseur */
background-color:red;
text-align:center;  /* on aligne le texte au centre */
}
.skin_bouton_OK
{
position:absolute;
top:250px;
left:420px;
}

.corp
{
position:absolute;
top:400px;
left:20px;
}

.tableau1
{
position:absolute;
top:30px;
left:200px;
border=1;

}
.R1
{
position:absolute;
top:30px;
left:30px;
}
.V1
{
position:absolute;
top:60px;
left:30px;
}
.B1
{
position:absolute;
top:90px;
left:30px;
}
.HEXA1
{
position:absolute;
top:120px;
left:30px;
}
.TLST1
{
position:absolute;
top:150px;
left:30px;
}
.TLSL1
{
position:absolute;
top:180px;
left:30px;
}
.TLSS1
{
position:absolute;
top:210px;
left:30px;
}

.R2
{
position:absolute;
top:30px;
left:880px;
}
.V2
{
position:absolute;
top:60px;
left:880px;
}
.B2
{
position:absolute;
top:90px;
left:880px;
}
.HEXA2
{
position:absolute;
top:120px;
left:880px;
}
.TLST2
{
position:absolute;
top:150px;
left:880px;
}
.TLSL2
{
position:absolute;
top:180px;
left:880px;
}
.TLSS2
{
position:absolute;
top:210px;
left:880px;
}

.repertoire
{
position:absolute;
top:0px;
left:0px;
}

/* Stylesheet for sliders (only properties that differ from default) */
#horizontal_slider_1 {
	background-color: #696;
	border-color: #9c9 #363 #363 #9c9;
	}
#horizontal_track_1, #display_holder_1 {
	background-color: #bdb;
	border-color: #ded #9a9 #9a9 #ded;
	}
#horizontal_slit_1 {
	background-color: #232;
	border-color: #9a9 #ded #ded #9a9;
	}
#value_display_1 {
	background-color: #bdb;
	color: #363;
	}
#horizontal_slider_4 {
	background-color: #696;
	border-color: #9c9 #363 #363 #9c9;
	}
#horizontal_track_4, #display_holder_4 {
	background-color: #fff;
	border: #fff;
	}
#horizontal_slit_4 {
	background-color: #000;
	border-color: #999 #fff #fff #999;
	}
#value_display_4 {
	background-color: #fff;
	color: #666;
	}
	
#horizontal_slider_5 {
	background-color: #696;
	border-color: #9c9 #363 #363 #9c9;
	}	
#horizontal_track_5, #display_holder_5 {
	background-color: #fff;
	border: #fff;
	}
#horizontal_slit_5 {
	background-color: #000;
	border-color: #999 #fff #fff #999;
	}
#value_display_5 {
	background-color: #fff;
	color: #666;
	}
</style>





 




<script type="text/javascript">

 function teinte(valeur)
	{
//slide(event, 'horizontal', 300, 0, 300, 101, 0, 'value_display_1');
document.getElementById("horizontal_slider_1").style.left=valeur;
document.getElementById("value_display_1").value=valeur;
tlst=document.getElementById("value_display_1").value;
tlsl=document.getElementById("value_display_4").value;
tlss=document.getElementById("value_display_5").value;
er=TLS_RVB(tlst,tlsl,tlss);	
document.getElementById('R2').value= er[0];
document.getElementById('V2').value= er[1];
document.getElementById('B2').value= er[2];
// on déplace curseur2 et on lui retire son milieu (comme pour curseur 1)

erhexa=RGBtoHex(er[0],er[1],er[2]);
document.getElementById('HEXA2').value = erhexa;
//document.getElementById('colorsource').style.backgroundColor=coulhexa;
document.getElementById('destination').style.backgroundColor="#"+erhexa;
document.getElementById('destination').value=erhexa;
	}
	
	
	
 function lumiere(valeur)
	{

document.getElementById("horizontal_slider_4").style.left=valeur;
document.getElementById("value_display_4").value=valeur;
tlst=document.getElementById("value_display_1").value;
tlsl=document.getElementById("value_display_4").value;
tlss=document.getElementById("value_display_5").value;
er=TLS_RVB(tlst,tlsl,tlss);	
document.getElementById('R2').value= er[0];
document.getElementById('V2').value= er[1];
document.getElementById('B2').value= er[2];


erhexa=RGBtoHex(er[0],er[1],er[2]);
document.getElementById('HEXA2').value = "#"+erhexa;

document.getElementById('destination').style.backgroundColor="#"+erhexa;
document.getElementById('destination').value=erhexa;

 

	}
 function saturation(valeur)
	{
document.getElementById("horizontal_slider_5").style.left=valeur;
document.getElementById("value_display_5").value=valeur;
tlst=document.getElementById("value_display_1").value;
tlsl=document.getElementById("value_display_4").value;
tlss=document.getElementById("value_display_5").value;
er=TLS_RVB(tlst,tlsl,tlss);	
document.getElementById('R2').value= er[0];
document.getElementById('V2').value= er[1];
document.getElementById('B2').value= er[2];


erhexa=RGBtoHex(er[0],er[1],er[2]);

document.getElementById('HEXA2').value = "#"+erhexa;

document.getElementById('destination').style.backgroundColor="#"+erhexa;
document.getElementById('destination').value=erhexa;

	}

function RGBtoHex(R,G,B)
{
//alert("rgbtohex");
//alert(R);
//alert(G);
//alert(B);
return toHex(R)+toHex(G)+toHex(B)}

function toHex(N) {
 if (N==null) return "00";
 N=parseInt(N); if (N==0 || isNaN(N)) return "00";
 N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N);
 return "0123456789ABCDEF".charAt((N-N%16)/16)
      + "0123456789ABCDEF".charAt(N%16);
}
 
function lumi(r,v,b,coulhexa,tlst,tlsl,tlss)
{


//alert(tlst+" "+tlsl+" "+tlss);
//alert(h1);

document.getElementById('R1').value= r;
document.getElementById('V1').value= v;
document.getElementById('B1').value= b;

document.getElementById('HEXA1').value = coulhexa;
document.getElementById('colorsource').style.backgroundColor="#"+coulhexa;
document.getElementById('colorsource').value=coulhexa;

document.getElementById('TLST1').value = tlst;
document.getElementById('TLSL1').value = tlsl;
document.getElementById('TLSS1').value = tlss;


//document.getElementById('R2').value= r;
//document.getElementById('V2').value= v;
//document.getElementById('B2').value= b;

//document.getElementById('HEXA2').value = coulhexa;
//document.getElementById('TLST2').value = tlst;
//document.getElementById('TLSL2').value = tlsl;
//document.getElementById('TLSS2').value = tlss;
//calcul();
//afficher();

//document.getElementById("horizontal_slider_1").style.left=tlst;
//carpeLeft('horizontal_slider_1', tlst) ;
document.getElementById("value_display_1").value=tlst;
document.getElementById("value_display_4").value=tlsl;
document.getElementById("value_display_5").value=tlss;

er=TLS_RVB(tlst,tlsl,tlss);	

document.getElementById('R2').value= er[0];
document.getElementById('V2').value= er[1];
document.getElementById('B2').value= er[2];

erhexa=RGBtoHex(er[0],er[1],er[2]);
document.getElementById('HEXA2').value = erhexa;


document.getElementById('destination').style.backgroundColor="#"+erhexa;
document.getElementById('destination').value=erhexa;
} 


function RGBToHex2(ColorString) {
alert("rgbtohex2");

 HexDigits = "0123456789ABCDEF";
 if (ColorString.charAt(0) == '#') {
 return ColorString;
 } else {
 ColorString = ColorString.substr(4);
 pos = ColorString.indexOf(',');
 Result = '#' + HexDigits.substr(Math.floor(ColorString.substr(0, pos) / 16), 1) + HexDigits.substr(ColorString.substr(0, pos) % 16, 1);
 ColorString = ColorString.substr(pos + 1);
 pos = ColorString.indexOf(',');
 Result = Result + HexDigits.substr(Math.floor(ColorString.substr(0, pos) / 16), 1) + HexDigits.substr(ColorString.substr(0, pos) % 16, 1);
 ColorString = ColorString.substr(pos + 1);
 pos = ColorString.length - 1;
 Result = Result + HexDigits.substr(Math.floor(ColorString.substr(0, pos) / 16), 1) + HexDigits.substr(ColorString.substr(0, pos) % 16, 1);
 return Result;
 }
    } 

function TLS_RVB(t,l,s)
{
var a = new Array();
 //alert("tls torvb");
	l /= 255;
	s /= 255;
	
	if(l < 1/2)
		q = l * (1 + s);
	else if(l >= 1/2)
		q = l + s - (l * s);
	
	p = 2 * l - q;
	
	hk = t / 360;
	a[0] = hk + 1/3;
	a[1] = hk;
	a[2] = hk - 1/3;
	
	var z = new Array();
	
	//foreach(a As k => tc)
	var value; 
for(var k in a) { 
    tc = a[k]; 
	//alert("k:"+k);
	//alert("tc:"+tc);
    // do something with key, value 
//} 

	
	//{
		if(tc < 0)
			tc++;
		else if(tc > 1)
			tc--;
		
		if(tc < 1/6)
			z[k] = p + ((q - p) * 6 * tc);
		else if(tc >= 1/6 && tc < 1/2)
			z[k] = q;
		else if(tc >= 1/2 && tc < 2/3)
			z[k] = p + ((q - p) * 6 * (2/3 - tc));
		else
			z[k] = p;
	}
	
	//z[0] = intval(round(z[0] * 255));
	z[0] = Math.round((z[0] * 255))
	z[1] = Math.round((z[1] * 255));
	z[2] = Math.round((z[2] * 255));

//alert(z[0]);
//alert(z[1]);	
//alert(z[2]);
	return z;
}

</script>

</head>
<body  >



<div id="tabeau1" class="tableau1" >

<table>
<tr ><td> teinte</td><td></td> <td></td> </tr>
<tr>
<td><input type="text" id="resultat1"  size=15 name="affichage_couleur" value="Chargement ..." /></td>
<td>
<!-- 
slide(event, '[id of the slider itself]',
     ['horizontal' or 'vertical'],
     [the slider length in pixels (integer)],
     [the minimum display value],
     [the maximum display value],
     [the number of accepted values in the interval],
     [number of decimals to display],
     '[id of the display]')
	 
	Horizontal slider 1 (green)
	-->
	<div class="horizontal_track" id="horizontal_track_1" >
		<div class="horizontal_slit" id="horizontal_slit_1" >&nbsp;</div>
		<!-- total movement: 100 pixels, scale: 1 [value/pixel],
			default position: 80 pixels, connected to value_display_1 -->
		<div class="horizontal_slider" id="horizontal_slider_1" style="left: 80px;"
			onmousedown="slide(event, 'horizontal', 300, 0, 300, 101, 0, 'value_display_1');" >&nbsp;</div>
	</div>
</td>
<td>
	<!-- Value display 1 (green) -->
	<div class="display_holder" id="display_holder_1" >
		<!-- Default value: 80 -->
		<input type="text" class="value_display" id="value_display_1" value="80" onfocus="blur(this);" />
	</div>
</td>
<td><input type="text" id="resultat11"  size=15 name="affichage_couleur" value="Chargement ..." /></td>
</tr>
</tr>
<tr ><td> Saturation</td><td></td><td></td></tr>


<tr>
<td><input type="text" id="resultat2"  size=15 name="affichage_couleur" value="Chargement ..." /></td>
<td>
	<!-- Horizontal slider 5 (transparent) -->
	<div class="horizontal_track" id="horizontal_track_4" >
		<div class="horizontal_slit" id="horizontal_slit_4" >&nbsp;</div>
		<!-- Total movement: 100 pixels,
			Default position: 50 pixels, Connected to value_display_5 -->
		<div class="horizontal_slider" id="horizontal_slider_4" style="left: 50px;"
			onmousedown="slide(event, 'horizontal', 300, 0, 100, 100, 0, 'value_display_4');" >&nbsp;</div>
	</div>
</td>
<td>
	<!-- Value display 5 (transparent) -->
	<div class="display_holder" id="display_holder_4" >
		<!-- Default value: 50 -->
		<input type="text" class="value_display" id="value_display_4" value="50" onfocus="blur(this);" />
	</div>
</td>
<td><input type="text" id="resultat22"  size=15 name="affichage_couleur" value="Chargement ..." /></td>
</tr>
<tr ><td> Luminosité</td><td></td><td></td></tr>
<tr>
<td><input type="text" id="resultat33"  size=15 name="affichage_couleur" value="Chargement ..." /></td>
<td>
	<!-- Horizontal slider 5 (transparent) -->
	<div class="horizontal_track" id="horizontal_track_5" >
		<div class="horizontal_slit" id="horizontal_slit_5" >&nbsp;</div>
		<!-- Total movement: 100 pixels,
			Default position: 50 pixels, Connected to value_display_5 -->
		<div class="horizontal_slider" id="horizontal_slider_5" style="left: 50px;"
			onmousedown="slide(event, 'horizontal', 300, 0, 300, 100, 0, 'value_display_5');" >&nbsp;</div>
	</div>
</td>
<td>
	<!-- Value display 5 (transparent) -->
	<div class="display_holder" id="display_holder_5" >
		<!-- Default value: 50 -->
		<input type="text" class="value_display" id="value_display_5" value="50" onfocus="blur(this);" />
	</div>
</td>
<td><input type="text" id="resultat33"  size=15 name="affichage_couleur" value="Chargement ..." /></td>
</tr>
</table>
</div>






<form>
<input type="text" id="R1" class="R1" size=15 name="R1" value=" ..." />
<input type="text" id="V1"class="V1"  size=15 name="V1" value="..." />
<input type="text" id="B1"class="B1" size=15 name="B1" value="" />
<input type="text" id="HEXA1" class="HEXA1" size=15 name="HEXA1" value=" ..." />
<input type="text" id="TLST1" class="TLST1" size=15 name="TLST1" value=" ..." />
<input type="text" id="TLSL1" class="TLSL1" size=15 name="TLSL1" value="..." />
<input type="text" id="TLSS1" class="TLSS1" size=15 name="TLSS1" value="..." />


<input type="text" id="repertoire" class="repertoire" size=15 name="repertoire" value="<?php echo $repertoire ?>" />



<input type="text" id="R2" class="R2" size=15 name="R2" value=" ..." />
<input type="text" id="V2"class="V2"  size=15 name="V2" value="..." />
<input type="text" id="B2"class="B2" size=15 name="B2" value="" />
<input type="text" id="HEXA2" class="HEXA2" size=15 name="HEXA2" value=" ..." />
<input type="text" id="TLST2" class="TLST2" size=15 name="TLST2" value=" ..." />
<input type="text" id="TLSL2" class="TLSL2" size=15 name="TLSL2" value="..." />
<input type="text" id="TLSS2" class="TLSS2" size=15 name="TLSS2" value="" />


<input type="text" id="destination" class="skin_destination" size=15 name="destination" value="..." />
<input type="text" id="colorsource" class="skin_source" size=15 name="colorsource" value="" />
<input type="button" value="Mettre a jour les fichier CSS." onclick="window.location='modif_couleur.php?source='+colorsource.value+'&destination='+destination.value+'&repertoire='+repertoire.value" class="skin_bouton_OK" id="bouton_valid"  />


</form>


<div id="corp"    class="corp"    >




<?php


function RVB_TLS($r, $v, $b)
{
	$max = max($r, $v, $b);
	$min = min($r, $v, $b);
	$t = 0;
	
	if($max == $min)
	{
		$t = 0;}
	if($max == $r)
		{if($v <> $b){$t = 60 * (($v - $b) / ($max - $min));}}
	elseif($max == $v)
		{if($b <> $r){$t = 60 * (($b - $r) / ($max - $min)) + 120;}}
	elseif($max == $b)
		{if($v <> $r){$t = 60 * (($r - $v) / ($max - $min)) + 240;}}
	$t = intval(round($t));
	
	
	$l = 1/2 * ($max + $min);
	$l2 = $l / 255;
	$l = intval(round($l));
	
	
	if($max == $min)
		$s = 0;
	elseif($l2 <= 1/2)
		$s = ($max - $min) / (2*$l2);
	elseif($l2 > 1/2)
		$s = ($max - $min) / (2 - 2*$l2);
	$s = intval(round($s));
	
	
	return Array($t, $l , $s);
}




$nbdatacouleur=0;

//$Directory=".";
$Directory="..".chr(92).$repertoire.chr(92)."theme".chr(92);
//echo $Directory;

$MyDirectory = opendir($Directory) or die('Erreur');
	while($Entry = @readdir($MyDirectory)) {
		if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') {
                        // echo '<ul>'.$Directory;
			//ScanDirectory($Directory.'/'.$Entry);
                        //echo '</ul>';
		}
		else {
		$extension=strrchr($Entry,'.');
		if ($extension==".css"){
		
		//echo '<li>'.$Entry.'</li>';
			
			
			







$fichier = $Directory.$Entry;
//echo $fichier;

$tabfich=file($fichier); 

$arraycouleur = array();


for( $i = 0 ; $i < count($tabfich) ; $i++ ) 
{ 


//echo $tabfich[$i]; 
$data=$tabfich[$i]; 


$pos1 = stripos($data, "color: #");

// Non, 'a' ne fait pas partie de 'xyz'
if ($pos1 === false) {
}

// Notez l'utilisation de ===.  Un simple == ne donnerait pas le résultat escompté
// car la lettre 'a' est à la position 0th (la première).
if ($pos1 !== false) {
    //echo "La chaîne '$findme' a été trouvée dans la chaîne '$mystring'";
    //echo " à la position $pos1";
	$res=$pos1;

//echo $res;
$couleur= substr($data, $res+8, 6);
//echo $couleur;
$str = trim($couleur);
$str= strlen($str); // 6
if ($str==6){
//verifi si la couleurs est deja dans le tableau
$ok=0;
for( $i2 = 1 ; $i2 < $nbdatacouleur+1 ; $i2++ ) 
{ 
//echo "<br>a1_7<br>";
//echo "a2_$i2<br>";
//echo "a3_$nbdatacouleur<br>";

if ($datacouleur[$i2]==$couleur){$ok=1;}

}

if( $ok==0)
{

$nbdatacouleur=$nbdatacouleur+1;
$datacouleur[$nbdatacouleur]=$couleur;

$arraycouleur_id[]=$nbdatacouleur;
$arraycouleur_hexa[]=$couleur;



//echo "<INPUT TYPE=\"button\" name=\"choix$nbdatacouleur\"VALUE=\"$nbdatacouleur\" style=\"background-color:#$couleur\" onClick=\"document.forms[0].colorsource.value = '$couleur';document.forms[0].colorsource.style.backgroundColor='#$couleur';\";>";
//echo chr(13);

/**
  * Convert a hexa decimal color code to its RGB equivalent
  *
  * @param string $hexStr (hexadecimal color value)
  * @param boolean $returnAsString (if set true, returns the value separated by the separator character. Otherwise returns associative array)
  * @param string $seperator (to separate RGB values. Applicable only if second parameter is true.)
  * @return array or string (depending on second parameter. Returns False if invalid hex color value)
  */   



$hexStr=$couleur;
	  

     $hexStr = preg_replace("/[^0-9A-Fa-f]/", '', $hexStr); // Gets a proper hex string
     $rgbArray = array();
     if (strlen($hexStr) == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster
         $colorVal = hexdec($hexStr);
         $rgbArray['red'] = 0xFF & ($colorVal >> 0x10);
         $rgbArray['green'] = 0xFF & ($colorVal >> 0x8);
         $rgbArray['blue'] = 0xFF & $colorVal;
     } elseif (strlen($hexStr) == 3) { //if shorthand notation, need some string manipulations
         $rgbArray['red'] = hexdec(str_repeat(substr($hexStr, 0, 1), 2));
         $rgbArray['green'] = hexdec(str_repeat(substr($hexStr, 1, 1), 2));
         $rgbArray['blue'] = hexdec(str_repeat(substr($hexStr, 2, 1), 2));
     } else {
         return false; //Invalid hex color code
     }
	 $seperator=",";
      $codervb=  implode($seperator, $rgbArray) ; // returns the rgb string or the associative array
	  //echo "rgb:$codervb";
	  $arraycouleur_rvb[]=$codervb;
	   $arraycouleur_r[]=$rgbArray['red'];
	   $arraycouleur_v[]=$rgbArray['green'];
		$arraycouleur_b[]=$rgbArray['blue'];
	   
$r= $rgbArray['red'];
$v=$rgbArray['green'];
$b=$rgbArray['blue'];






$tls= RVB_TLS($r, $v, $b);
$tls2= implode($seperator,$tls);
//echo " tls :$tls2";
$arraycouleur_tls_t[]=$tls[0];
$arraycouleur_tls_l[]=$tls[1];
$arraycouleur_tls_s[]=$tls[2];
//L = r+b+v
//S = 1 - 3 Min(r,v,b) / L
// T' = acos((1/2) * [r-b)+(r-v)]/ square((r-v)^2 + (r-b)(v-b)))
// T = T' si b < v
// T = 2 * pi - T' si b > v 
 
//echo "<INPUT TYPE=\"button\" name=\"choix$nbdatacouleur\"VALUE=\"$nbdatacouleur\" style=\"background-color:#$couleur\" onClick=\"document.forms[0].colorsource.value = '$couleur';document.forms[0].colorsource.style.backgroundColor='#$couleur';\";>";
//echo $nbdatacouleur;
$hexa=$arraycouleur_hexa[$nbdatacouleur-1];
$tls_t=$arraycouleur_tls_t[$nbdatacouleur-1];
$tls_l=$arraycouleur_tls_l[$nbdatacouleur-1];
$tls_s=$arraycouleur_tls_s[$nbdatacouleur-1];
$hr=$arraycouleur_r[$nbdatacouleur-1];
$hv=$arraycouleur_v[$nbdatacouleur-1];
$hb=$arraycouleur_b[$nbdatacouleur-1];

//$k2=$k+1;
//echo "<INPUT TYPE=\"button\" name=\"choix$k\"VALUE=\"Bouton\" style=\"background-color:#$h1\">";
echo "<INPUT TYPE=\"button\"  name=\"choix$nbdatacouleur\"VALUE=\"$nbdatacouleur\" style=\"background-color:#$hexa\" onClick=\"lumi($hr,$hv,$hb,'$hexa','$tls_t','$tls_l','$tls_s')\";>";
echo chr(13);





}

}


}
}



		
			
			
               } }
	}
closedir($MyDirectory);
echo"tri sur luminance";
//echo $arraycouleur_tls_t[3];
//print_r($arraycouleur_tls_l);



echo "<br>";


echo"tri sur luminance";
// tri sur luminance
echo "<br>";
asort($arraycouleur_tls_t);








foreach($arraycouleur_tls_t as $k => $v)
{
//$h1=$arraycouleur_hexa[$k];
//$h2=$arraycouleur_tls_t[$k];
//$hr=$arraycouleur_r[$k];
//$hv=$arraycouleur_v[$k];
//$hb=$arraycouleur_b[$k];

$hexa=$arraycouleur_hexa[$k];
$tls_t=$arraycouleur_tls_t[$k];
$tls_l=$arraycouleur_tls_l[$k];
$tls_s=$arraycouleur_tls_s[$k];
$hr=$arraycouleur_r[$k];
$hv=$arraycouleur_v[$k];
$hb=$arraycouleur_b[$k];


$k2=$k+1;
echo "<INPUT TYPE=\"button\"  name=\"choix$k\"VALUE=\"$k2\" style=\"background-color:#$hexa\" onClick=\"lumi($hr,$hv,$hb,'$hexa','$tls_t','$tls_l','$tls_s')\";>";
echo chr(13);
//echo "<INPUT TYPE=\"button\" name=\"choix$k\"VALUE=$k style=\"background-color:#$h1\" onClick=\"lumi($hr,$hv,$hb,'$h1')\";>";
}



//remplcement d'un morceau de chaine
//echo substr_replace("abCDEF","AB",0,2);
//echo "<br />";
//echo substr_replace("100000 Euros",",",-9, 0);


echo "<br>";


echo"fin de lecture";
?> 




 </div>
 





</body>
</html>
j'utilise
asort($arraycouleur_tls_t); ligne 883 mais ca donne pas un truc extra

je vais recherché de mon coté mais si quelqu'un pouvait m'aider car la je nage un peut

merci
Christophe

Mammouth du PHP | 2278 Messages

01 déc. 2011, 10:44

As-tu jeté un oeil sur array_multisort()? et dans la discussion de la doc, il y a des suggestions....
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD