Erreur algorithme

Fermé
roma28410 Messages postés 4 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 15 février 2010 - 12 févr. 2010 à 17:44
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 16 févr. 2010 à 08:51
Bonjour,
je programme une application en php et ces boucles me pose grand probleme.
Impossible de trouver l'erreur.

erreur : Fatal error: Maximum execution time of 60 seconds exceeded in

code :

//suppression des doublons de champs dans le tableau et donc mise a jour du tab des valeur
for($i=0;$i<=sizeof($tab_chaine_champ)-1;$i++){
for($c=0;$c<=sizeof($tab_chaine_champ)-1;$c++){
if($i=!$c){
if($tab_chaine_champ[$i]==$tab_chaine_champ[$c]){
//alors on supprime le doublon des deux tableau
$tab_chaine_champ[$i]=array_shift($tab_chaine_champ);
$tab_chaine_valeur[$i]=array_shift($tab_chaine_valeur);
}
}
}
}

voila si vous avez une petite idée ou des conseils, cela m'aiderai fortement.. Merci

8 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
12 févr. 2010 à 17:54
erreur : Fatal error: Maximum execution time of 60 seconds exceeded in

ton script a mis plus de 60 secondes à s'executer... tu t'es pris le timeout dans la gueule
t'as pourtant pas l'air d'etre dans uen boucle infini

ils sont grands tes tableaux ? essayes d'abord avec de petits tableau...
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
12 févr. 2010 à 17:57
bonsoir,
ce message dit que l'exécution s'arrête car le serveur pense que vous êtes dans une boucle infinie.
si ce n'est pas le cas le temps d'exécution est trop long.

si vous êtes sûr de vous,
vous pouvez réinitialiser le temps au changement d'indice en ajoutant
set_time_limit(nnn); //nnn à modifier


0
roma28410 Messages postés 4 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 15 février 2010
15 févr. 2010 à 11:21
non les tableau sont de petite tailles, qui peuvent varier selon les formulaires qui ont étés remplis.
soit une taille de 2 a 20..
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
15 févr. 2010 à 18:12
Bonsoir,
même si les tableaux sont de petites tailles, on est pas à l'abri d'une erreur de programmation entrant ainsi dans une boucle infinie.
avant de dire non, vérifiez vos boucles ou alors considerez que lemessage affiché est faux.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
15 févr. 2010 à 18:22
tu es bien dans une boucle infini, et voici là ou ca bloque:
if($i=!$c){

en gros, tu lui dis $i prend la valeur de pas $c (donc 0 si différent de 1, et 1 si 0)...
a mon avis, tu voulais faire:
if($i!=$c){

voila, c'est uen erreur de frappe qui t'a mené à une boucle infini (et pas de bol pour toi, cette erreur voulait dire quelque chose pour le compilo, donc t'as pas eu d'erreur avant le timeout ....)
0
roma28410 Messages postés 4 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 15 février 2010
15 févr. 2010 à 20:40
mercci beaucoup de vote aide...
0
Bill Gate 2 Messages postés 189 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 15 mai 2012 17
15 févr. 2010 à 20:49
efface tout lol !!!! sa va t'aidé naaan jue plaisante
regarde au niveau de ($i=0;$i<=sizeof($tab_chaine_champ)-1;$i++){ regarde bien ce tableau
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
16 févr. 2010 à 08:51
si c'est résolu, merci de mettre l'article en résolu ...
0