Lenteur affichage / Mysql

Résolu
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009 - 8 avril 2009 à 18:40
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009 - 10 avril 2009 à 14:04
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

amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
10 avril 2009 à 14:04
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 !!
3
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
8 avril 2009 à 19:01
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 !!
0
amateurjava Messages postés 88 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 12 octobre 2009
8 avril 2009 à 19:15
Et pour finir ça marche sous ie 6.

Et pas sur ie7!!

Faites vous plaisir !!
0
Rejoignez-nous