Limite de la boucle for en php

HerveLepeya Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une préoccupation dans laquelle je sollicite votre assistance. Depuis 2 jours je ne parviens pas à résoudre le problème suivant:
Je souhaite insérer plus de 1000000 d'enregistrement dans une table avec la boucle for du php, arrivé au 381 enregistrement la boucle d'arrête et ne donne plus rien.
Quelqu'un n'a-il pas un remède à ce problème?

Votre assistance SVP!


A voir également:

5 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour

regarde du côté de max_execution_time.

0
HerveLepeya Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour l'assistance, cette possibilité je l'ai tenté mais sans succès. J'ai même fais phpinfo() pour voir la configuration du php, mais bizarrement max_execution_time reste 30
0
codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
 
Bonjour.
Ces "1000000 d'enregistrement" ce trouve sur quoi avant d’être enregistré en php ?

Les informations d'origine doivent être transformer en page sql et exporter sur la bdd. php n'est pas fait pour faire le travail de la base de donnée.

Apres tu peut quand meme tricher en augmentant ton temps d'execution de script avec ton php.ini ou sinon recharger la page tout les x enregistrement en recomençant par le dernier enregistrment effectuer mémoriser en session php.
0
HerveLepeya Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre assistance, le résultat attendu est de générer 1000000 de codes aléatoires depuis php puis les insérer dans la base dans la base de données.
0
codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
 
si le but est d'envoyer des code générer aléatoirement vers la bdd, dans ce cas, je générerais plusieurs requête en même temps et rechargerai la page toutes les x enregistrement par header location ou par ajax.

Mais bon cette méthode reste quand même bizarre parceque normalement le programme qui gères les codes, doit les fournir au moment demander.
0
HerveLepeya
 
J’ai même essayé d’afficher les increments d’une boucle allant jusqu'à 400 lignes, arrivé à la 382 ligne la boucle s'arrête et n’affiche rien. A quel niveau peut se situer ce problème?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > HerveLepeya
 
Comme indiqué ici : https://forums.commentcamarche.net/forum/affich-33281334-limite-de-la-boucle-for-en-php#6 ..... Sans voir ton code ..... IMPOSSIBLE de te répondre.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Sans voir ton code ni ce que tu as testé .... impossible de te répondre.

NB: **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
0
HerveLepeya Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
le code est le suivant:
for ($i=1; $i <500 ; $i++) { 
      # code...
      $codegen=generateString(6);
      $sql = "INSERT INTO `sp_codegenere`(`IDCode`, `Code`, `Etat`) VALUES (NULL,'$codegen',0)";
      $myDB->dbQuary($sql);
      //echo "string".$i.'<br />';;

     }
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > HerveLepeya Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
1 - Où sont les balises de code ????
=> Je l'ai ajoute. Merci de le faire la prochaine fois !

2 - Quelles sont ces fonctions ?
dbQuary ?
generateString ?

3 - Si tu as un ID auto-incrémenté .... pas besoin de le mettre dans ta requête.

4 - Si tu utilises PDO ... regardes ce que sont les requêtes préparées.
Ainsi .. tu peux juste passer dans ta boucle, les variables sans avoir à remettre à chaque fois la requête complète.
0

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

Posez votre question
codeurh24 Messages postés 760 Date d'inscription   Statut Membre Dernière intervention   123
 
De toute façon si on en arrive a ce problème, c'est que le vrai problème remonte lors de la façon de créer le programme techniquement.
Les solution choisis ne sont pas les bonnes peut-être par manque de connaissance.
il faut revoir la conception architecturale et conception détaillée.
0