Insertion dans une base de données
Salut,
Mon programme consiste a faire une mise a jour d'une base de donnée a partir d'un fichier texte au format csv. la mise a jour se fait normalement mais j'ai tout juste ajouté une autre condition pour que mon programme soit un peu complet. cette condition consiste a détecter une nouvelle ligne dans mon fichier texte et l'insère dans ma base de donnée. j'ai écrit le code et semble intact mais en compilant je reçois l'erreur suivante:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\EasyPHP 2.0b1\www\fini_ress2.php on line 39
voila mon code:
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
| <?php
mysql_connect("localhost", "root", "");
mysql_select_db("tuniproject");
$reponse = mysql_query("SELECT * FROM ressources");
$monfichier = fopen("ressources.txt", "r+");
$repdeb="med";
while ($repdeb!="UNIT" or $repdeb<0 or $repdeb>500)
{
$ligne = fgets($monfichier);
$array_chaine = explode(';', $ligne);
$repdeb=$array_chaine[0];
}
$array_chaine[1]="PHYS_STATE";
$ligne = fgets($monfichier);
while ($donnees = mysql_fetch_array($reponse))
{
$array_chaine1 = explode(';', $ligne);
if ($array_chaine1[1] != $donnees['PHYS_STATE'])
{
echo "changement du statut physique ".$donnees['PHYS_STATE']." en ".$array_chaine1[1]." dans ".$donnees['UNIT']."<br />";
mysql_query('UPDATE ressources SET PHYS_STATE="'.$array_chaine1[1].'" WHERE id="'.$donnees['id'].'"');
}
if ($array_chaine1[2] != $donnees['LOCATION'])
{
echo "changement de la location ".$donnees['LOCATION']." en ".$array_chaine1[2]." dans ".$donnees['UNIT']."<br />";
mysql_query('UPDATE ressources SET LOCATION="'.$array_chaine1[2].'" WHERE id="'.$donnees['id'].'"');
}
$ligne = fgets($monfichier);
}
$test=$ligne!="";
if ($test=true)
{
$comp=$donnees['id']+1;
}
while ($ligne!="")
{
$array_chaine1 = explode(';', $ligne);
mysql_query('INSERT INTO ressources VALUES('.$comp.','.$array_chaine1[0].','.$array_chaine1[1].','.$array_chaine1[2].')');
$comp++;
}
mysql_close();
fclose($monfichier);
?> |
j'ai ajouté la variable $comp pour inserer mon id qui ne figure pas dans le fichier de mise a jour.
merci.