Lenteur affichage / Mysql

Résolu
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009
-
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009
-
Bonjour,

J'affiche le résultat d'une requete mysql dans une div (qui s'appelle affichage_compte), en utilisant AJAX.

function affiche_liste_pointage(){
    a=document.getElementById('select_compte');
    ecr_cpte=a.ecr_cpte.value;
    type=a.type_pointage.value;
   
var xhr_object = null;
     if(window.XMLHttpRequest) // Firefox
       xhr_object = new XMLHttpRequest();
       else if(window.ActiveXObject) // Internet Explorer
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
       else { // XMLHttpRequest non supporté par le navigateur
          alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
          return;
       }
    xhr_object.open('GET','pointage_liste.php?ecr_cpte='+ecr_cpte+'&type='+type, true);
    xhr_object.onreadystatechange = function() {
          if(xhr_object.readyState == 4) {
            document.getElementById('affichage_compte').innerHTML = xhr_object.responseText;   
                                        }
                                                   }
    xhr_object.send(null);

}

--- fichier pointage_liste.php ---(en raccourcis)
<? ob_start();
$ecr_cpte=$_GET["ecr_cpte"];
$type=$_GET["type"];
$req=mysql_query("SELECT ecr_num,ecr_jnl,ecr_piece,ecr_libelle,ecr_debit,ecr_credit,DATE_FORMAT(ecr_date,'%d-%m-%Y') as date,DATE_FORMAT(ecr_val_rap,'%d-%m-%Y') as date_rap FROM be_ecriture WHERE ecr_cpte='$ecr_cpte'   ORDER BY ecr_date ASC ");
while ($r=mysql_fetch_array($req)){
$ecr_num=$r["ecr_num"];
$jnl=$r["ecr_jnl"];
$date=$r["date"];
$piece=$r["ecr_piece"];
$libelle=$r["ecr_libelle"];
$date_rap=$r["date_rap"];

............ affichage des lignes

}
<?

$buffer=ob_get_clean();
$buffer = utf8_encode($buffer);
echo $buffer;
?>

Tout devrait bien marcher (j'utilise cette methode pour d'autres pages)
Le probleme, c'est que cela n'affiche qu'une partie des resultats : 330 lignes pour 700 lignes de résultat

L'ordinateur se met à ramer en attente de la suite ... et plus rien .

Lorsque j'ouvre un nouvel onglet sur mon navigateur, et que je lance la même requete, à ce moment là, la suite des lignes apparait sur mon premier onglet.

C'est à croire que les résultats sont en attente d'affichage et que le fait de lancer la même requete dans un autre onglet libere les resultats en attente.

Précisions : en testant les requetes sql directement sur phpmyadmin, le temps de retour est archi rapide (que 700 resultats).
Lorsque je lance le script php 'pointage_liste.php?ecr_cpte='+ecr_cpte+'&type='+type' directement dans la barre d'adresse du navigateur, l'affichage est rapide et complet.

D'où vient le problème ??

Faites vous plaisir !!

3 réponses

Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

Au final, j'ai trouvé le probleme : dans l'affichage des lignes, j'avais un div dans lequel il manquait le style (position et float)
Réglé
Faites vous plaisir !!
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

Je mes suis rendu compte que le probleme n'existe que sur internet explorer car sur mozilla, cela fonctionne trés bien!!!

Comment le navigateur pourrait il avoir ce genre d'impacte ?

Faites vous plaisir !!
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

Et pour finir ça marche sous ie 6.

Et pas sur ie7!!

Faites vous plaisir !!