Bonjour,

Quelqu'un aurait il une idée pour optimiser ce script, sachant que $t>4000 et que la table "collection" est elle aussi > 4000, ceci afin d'éviter l'erreur

Fatal error: Maximum execution time of 60 seconds exceeded in

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
 
<?php
 
if($maj=="ok") {
// mise à jour de la table du membre		
		$temps_debut = microtime(true);
		$result = mysql_query("SELECT * FROM timbresdefrance_collections.".$collection);
			while ($row = mysql_fetch_array($result, MYSQL_NUM))
			{ 
			for($i=1;$i<$t+1;$i++)
			{
			 if($data_base[$i][0]==trim($row[1]) or $data_base[$i][7]==trim($row[1]))
			 	{
 
	$sql='REPLACE INTO timbresdefrance_collections.'.$collection.' VALUES  ("'.$row[0].' "," '.$data_base[$i][7].' ","'.$row[2].'","'.$data_base[$i][1].'","'.$row[4].'","'.$row[5].'","'.$data_base[$i][2].'","'.$row[7].'","'.$row[8].'","'.$data_base[$i][3].'","'.$row[10].'","'.$data_base[$i][4].'","'.$data_base[$i][5].'","'.$row[13].'","'.$row[14].'","'.$data_base[$i][6].'","'.$row[16].'","'.$row[17].'","'.$row[18].'","'.$row[19].'","'.$row[20].'","'.$row[21].'","'.$row[22].'","'.$row[23].'","'.$row[24].'","'.$row[25].'","'.$row[26].'","'.$row[27].'","'.$row[28].'","'.$row[29].'","'.$row[30].'","'.$row[31].'")';	
 
			mysql_query($sql)or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());				 
 
				} // fin de if($data_base[$i][0]==trim($row[1]) or $data_base[$i][7]==trim($row[1]))
 
			} //fin de for($i=1,$i<$t+1,$i++)
 
			} // fin de for($j=1;$j<$t+1;$j++)
 
$temps_fin = microtime(true);
echo 'Temps d\'execution : '.round($temps_fin - $temps_debut, 4);
echo('<br>');			
 
}//fin de script
 
?>
Merci