[php/sql]pb d'affichage d'une requete sql

pb d'affichage d'une requete sql [php/sql] - Programmation

Marsh Posté le 22-07-2001 à 16:39:47    

j'essaye d'afficher le resultat d'une requete sql sous forme d'un tableau et  il semblerait que lorsque ma base de donné atteind une certaine taille l'explorateur n'arrive plus a afficher la page
avec environ 50 resultats ça marche des que j'aproche les 70 resultats la page s'affiche une fois sur 2 et au dessus des 80 resultats la page n'arrive pas a s'afficher
 
ce qui m'interesse c de pouvoir afficher au moins 100 resultats sur une meme page (sinon je n'aurai pas de pb).
 
pour afficher les resultats j'utilise:
 
while ($row=mysql_fetch_array($result)){
...
...  =$row["id1"]
...  =$row["id2"]
...  =$row["id3"]
...  =$row["id4"]....}
 
si quelqu'un pouvait m'aider  :)

Reply

Marsh Posté le 22-07-2001 à 16:39:47   

Reply

Marsh Posté le 24-07-2001 à 10:50:49    

ça m'interesse aussi ,et j'aimerais aussi savoir comment faire pour "précharger" une page ?

Reply

Marsh Posté le 24-07-2001 à 14:39:09    

bonne question j'aimerais aussi avoir une reponse!! :benetton:

Reply

Marsh Posté le 24-07-2001 à 15:12:38    

Replouf66 a écrit a écrit :

bonne question j'aimerais aussi avoir une reponse!! :benetton:  




 
:jap:

 

[edtdd]--Message édité par Drakkeng--[/edtdd]

Reply

Marsh Posté le 25-07-2001 à 14:20:18    

g trouvé le pb mais je sais pas comment le resoudre
qd je suis sous 98 ça fonctionne (au fait tous ça se passe en local avec easyphp)
mais qd je suis sous xp ça me fait le pb decrit ci-dessus  
g essayé en desactivant le firewall de xp mais ça ne change rien si quelqu'un sait quoi configurer ça m'arrangerais bien
merci

Reply

Marsh Posté le 25-07-2001 à 14:32:50    

Albert > Ton problème, si j'ai bien compris, n'est pas un problème de firewall mais un problème de rapidité de génération de la page.
Avec win 98, ton PC est assez rapide pour créé et renvoyé la page au navigateur.
Avec win XP, ton ordinateur met plus de temps à préparer la page et le navigateur t'affiche une erreur 404.
T'as plusieurs truc à savoir & vérifié:
1) ne jamais faire un "select *" si derrière, on n'utilise pas toutes les zones (la base de donées ayant plus de donées à retourné, la duré totale du traitement est plus longue).
2) vérifier que t'as bien mis un index sur la table corespondant à ta requête sur au moins un des champs du "where"
3) eviter certaines structures de requêtes (si possible). Pour ca, il faut consulté la doc de ta bdd.
4) Ne retourner que les lignes qui risques d'être utilisé derrière. (avec mysql, bdd de easyphp, on peut demandé à retourné que n ligne à partir de la ligne m).
 
voilà le principal au niveaux des requêtes

Reply

Marsh Posté le 25-07-2001 à 14:38:57    

Sous XP, essaye d'augmenter le "max_execution_time" de php.ini
 
Si en augmentant çà passe, c'est que le problème est bien celui décrit par omega2, à savoir un script trop long en temps d'éxécution.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 25-07-2001 à 14:48:27    

LE max_execution_time, c'est le régalge au niveau du serveur.
Mais les navigateurs ont eu aussi un temps d'attente de réponse maximale.
C'est ce dernier qui jous je pense.
Pour en être sur, je conseillerais de mettre sur une machine Beos et Opera 3.62 qui semble avoir un temps d'attente max exéssivement élevé. à partir du moment ou il a recus ne seraisse qu'un octet en réponse, il peut attendre plusieurs minutes le reste de la page, alors que IE5 arrête d'attendre moins d'une minute après avoir envoyé ces infos au serveur.

Reply

Marsh Posté le 25-07-2001 à 15:06:11    

g deja essayer le max_execution_time
mes requete ne renvoie que des choses utiles y'a pas * ,etc
et je demande uniquement le nombre de ligne que je veux
 
et d'apres mes tests ça plante apres la avoir eu le resultat de la requete c a l'affichage ie n'a pas le temps d'afficher le resultat
 
g un peu optimisé a la place de mysql_fetch_array j'utilise mysql_fetch_row   ça me permet d'afficher un peu plus mais pas suffisament.
 
ps:Replouf66 est un collegue qui a posté le message a ma place (Albert520)

 

[edtdd]--Message édité par Replouf66--[/edtdd]

Reply

Marsh Posté le 25-07-2001 à 15:40:27    

Ton script, il dure combien de temps pour environ 70 lignes ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 25-07-2001 à 15:40:27   

Reply

Marsh Posté le 25-07-2001 à 15:42:48    

en local 1s
de l'exterieur je sais pas
 
et ça affiche la page une fois sur 2
de l'exterieur jamais
 
je vois pas pourkoi sous xp ça marche pas alors que sous 98 ça marche trés bien

 

[edtdd]--Message édité par Replouf66--[/edtdd]

Reply

Marsh Posté le 25-07-2001 à 16:04:24    

Ouais, ben c'est ton serveur web qui chie dans la colle.
 
Si php met 1 seconde à générer page, c'est pas là le problème.
 
Si le navigateur dit que la page arrive pas, c'est que les serveur WEB est surchargé, ou le réseau, ou que XP c'est de la ... Non je l'dirai pas. J'peux pas, je connais pas  ;)
 
Idée, pour y voir plus clair :
 
Génère une page de 70 lignes (ou moins si çà passe pas ;) ).
Récupère le source HTML, et fait en un gros fichier en dupliquant plusieurs fois l'affichage des 70 lignes.
Fait en un fichier html, met le sur le serveur, et essaye de le lui demander pour voir comment il répond.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 25-07-2001 à 16:16:31    

qd le fichier edité a la main s'appelle .php ça foire, bon doit y avoir 1000 lignes
mais qd il s'appelle .htm ça passe
 
tu sais quoi faire??

 

[edtdd]--Message édité par Replouf66--[/edtdd]

Reply

Marsh Posté le 25-07-2001 à 16:28:32    

Ben non, je sais pas quoi faire, désolé !
 
Tout ce qu'on peut dire avec une quasi certitude, c'est que çà coince au niveau de la communication entre PHP et les serveur web.
 
C'est quoi le serveur (IIS ?), quelle version ?
Idem pour PHP ?
 
On le trouve où EasyPhp, moi j'ai installé PHP et MySql indépendemment sur mon NT 4.0 ...
 
Avec de la chance, y'a un truc à configurer sur IIS, reste à trouver quoi !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 25-07-2001 à 17:01:04    

easyphp, c'est apache+php+mysql le tout configuré pour win 9x (le réglage n'est peut_être pas le bon pour winXP).
On peut le trouver sur le web ou dans certains livres.
 
albert 520 : Un petit conseil en passant : vérifie si ce problème n'a pas déjà été posté sur le forum "software & réseaux".
 
Personellement, je vois pas trop ce qui ce passe.
Essaye avec une page html nomé en .php (si possible la page résultat que t'obtiens sous win9x)
Essaye avec une page en .php qui contiens vraiment du code php mais pas de liaison à la BDD.
 
Ca permettra de savoir si ca viens de mysql ou du module php d'apache.

Reply

Marsh Posté le 25-07-2001 à 17:18:34    

J'ai cherché chez Apache et chez Php, aucun ne parle de XP !
Même support.microsoft.com ne parle pas encore d'XP !
 
Omega2, relis les post, les tests ont déja été faits.
 
Le script PHP tourne en 1s ! C'est donc pas MySql ou l'éxécution du script qui pose problème. C'est entre Apache et PHP.
Le même gros fichier HTML passe en .htm et pas en .php.
 
Il y a un problème de communication entre Apache et PHP sous XP ! Mais quoi ? Peut-on y faire quelque-chose ?
J'le sens très mal ce truc...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 25-07-2001 à 17:38:12    

Il faudrait voir sur le site de celui qui prépare easyphp. Je me rapelle plus l'URL mais il me semble qu'elle à été doné plusieurs fois sur ce forum.
 
Pour les essaies, j'avais pas compris que c'était le même fichier. :( Désolé.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed