Version complète: sur le forum Webmaster Hub : Ordre d'exécution PHP
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Siddartha
Bonjour,

J'ai réalisé un script en php qui est séparé en deux :

- une requête sql
- un if else

L'un ou l'autre marche trés bien de manières distincte. Par contre, dès que je les colle ensemble, ca ne fonctionne plus.

Serait -il possible que dans la lecture du script, celui ci soit exécuté avec des ordres de priorités ?
Le if s'éxécuterait-il alors que la fin de l'exécution de la requête sql n'est pas terminée ?

Merci pour vos réponses.
jd_
Non, ça n'est pas de cet ordre là - je pense.
Montre-nous ton code en entier (sans code, rien n'est possible ou presque).
Anonymus
Bonjour, Sid.

En fait, ce n'est a priori pas possible,.. si tu ne le demandes pas.
Par contre, donc, tu peux demander à la base de données qu'elle envoie les données avant de les avoir toutes réunies.

Le déroulement normal, c'est :
- on envoie la requete à la base,
- elle collecte les résultats,
- lorsqu'elle a fini la collecte, elle renvoie le tableau temporaire,
- le script continue.

En forcant la base à renvoyer les résultats avant de les avoir tous, tu peux gagner du temps... si tu l'as prévu.

Bref, jettes un oeil sur mysql_unbuffered_query : http://www.nexen.net/docs/php/annotee/func...fered-query.php

Nico wink.gif
Siddartha
C'est exactement ce que je voulais savoir !

Merci pour ta réponse Anonymus wink.gif
smile
De toute façon, le code est lu ligne par ligne, si ton if est placé après ta requete, il faudra attendre qu'au moins la première ligne de ta requete soit executée avec de passer par ton if.

Le php n'est pas un langage procédurale smile.gif
Anonymus
Tu peux aussi te tourner vers la fonction 'sleep()', qui met le script en repos le temps que les données de la base arrivent toutes...

mais bon.. c'est moins bien, quoi sad.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.