Bonjour,
Voici mon problème en gros
Je dois faire une requête php qui dure assez longtemps pour info je fais un protocole http pour contrôler si les sites existent toujours et j'affiche le résultat dans un tableau. Donc pour 273 enregistrements je mets plus d'une minute.
Quand je lance ma fonction ajax tous ce passe bien, mais arriver à la fin du traitement, le résultat ne s'affiche pas sur la page index.php. Mais voilà le souci j'ai cru la première fois que ma fonction s'exécutait mal, mais quand j'appuie sur le bouton actualiser du navigateur mes résultats apparaisse et disparaisse aussitôt.
Voici mon fichier JS :
Mon fichier de traitement :
Voici ma page index.php qui doit afficher le résultat :
Je vous remercie d'avance
Modifié par Thom77 (29 Sep 2011 - 10:56)
Voici mon problème en gros
Je dois faire une requête php qui dure assez longtemps pour info je fais un protocole http pour contrôler si les sites existent toujours et j'affiche le résultat dans un tableau. Donc pour 273 enregistrements je mets plus d'une minute.
Quand je lance ma fonction ajax tous ce passe bien, mais arriver à la fin du traitement, le résultat ne s'affiche pas sur la page index.php. Mais voilà le souci j'ai cru la première fois que ma fonction s'exécutait mal, mais quand j'appuie sur le bouton actualiser du navigateur mes résultats apparaisse et disparaisse aussitôt.
Voici mon fichier JS :
function test(){
$.ajax({
type: "POST",
url: "analyse.php",
async: false,
success: function(retour){
$("#resultat").empty();
$("#resultat").append(retour);
}
});
}
Mon fichier de traitement :
<?php
include "fonction/function.php";
include "conf/sql.conf.php";
//compteur de style
$i = 0;
//connexion BDD
sql_connect($host,$user,$passwd,$bdd);
$reponse = mysql_query("SELECT id,titre,url FROM annuaire ") or die(mysql_error());
$total = mysql_num_rows($reponse);
?>
<h2>Résultat d'analyse : <?php echo($total); ?> sites analysés - <span
class="error"><?php echo($i); ?> erreurs</span></h2>
<table>
<thead>
<tr>
<th>ID</th>
<th>Nom du site</th>
<th>URL</th>
<th>Type d'erreur</th>
<th>Correction proposée</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
while ($donnees = mysql_fetch_array($reponse) )
{
$id = $donnees['id'];
$titre = $donnees['titre'];
$url = $donnees['url'];
$url_parsee = parse_url($url);
$host = $url_parsee["host"];
$path = isset($url_parsee["path"]) ? trim($url_parsee['path']) : '';
$tab_return = check_connect($host,$path);
if($tab_return["numerror"] != "200"){
$i++;
if($i%2 == 0){?>
<tr class="odd">
<td><?php echo($id);?></td>
<td><?php echo(utf8_encode($titre)); ?></td>
<td><a href=<?php echo($url); ?>><?php echo($url); ?></a></td>
<td class='errortypes'><span class='error'><?php echo($tab_return["numerror"]); ?>
</span><br />
<span class='secondary02'><?php echo($tab_return["message"]); ?></span></td>
<?php if($tab_return["numerror"] >= "300" && $tab_return["numerror"] <= "399"){ ?>
<td><input type='text' value="<?php echo($url); ?>" /> <a
href="<?php echo($url); ?>" title='Visiter'><img class='imgbutton'
src='../images/search_24.png' alt='Visiter' /></a></td>
<?php }else{ ?>
<td><input type='text' value='' /></td>
<?php }?>
<td><a href='' onclick="request('fonction/supprimer.php?id=<?php echo($id); ?>','xmlhttp');return(false)" title='Supprimer'><img class='imgbutton'
src='../images/delete_24.png' alt='Supprimer' /></a><a href='#'
title='Enregistrer'><img class='imgbutton'
src='../images/save_24.png' alt='Enregistrer' /></a></td>
</tr>
<?php }else{?>
<tr id=<?php echo($id);?> >
<td><?php echo($id);?></td>
<td><?php echo(utf8_encode($titre)); ?></td>
<td><a href=<?php echo($url); ?>><?php echo($url); ?></a></td>
<td class='errortypes'><span class='error'><?php echo($tab_return["numerror"]); ?>
</span><br />
<span class='secondary02'><?php echo($tab_return["message"]); ?></span></td>
<?php if($tab_return["numerror"] >= "300" && $tab_return["numerror"] <= "399"){ ?>
<td><input type='text' value="<?php echo($url); ?>" /> <a
href="<?php echo($url); ?>" title='Visiter'><img class='imgbutton'
src='../images/search_24.png' alt='Visiter' /></a></td>
<?php }else{ ?>
<td><input type='text' value='' /></td>
<?php }?>
<td><a href='' onclick="request('fonction/supprimer.php?id=<?php echo($id); ?>','xmlhttp');return(false);" title='Supprimer'><img class='imgbutton'
src='../images/delete_24.png' alt='Supprimer' /></a><a href='#'
title='Enregistrer'><img class='imgbutton'
src='../images/save_24.png' alt='Enregistrer' /></a></td>
</tr>
<?php }
}
}
?>
</tbody>
</table>
Voici ma page index.php qui doit afficher le résultat :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<title>SPEinspector</title>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="fr" />
<link rel="shortcut icon" type="images/x-icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css" href="css/base.css" media="all" />
<link rel="stylesheet" type="text/css" href="css/screen.css"
media="screen" />
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<script type="text/javascript"
src="js/inspector.js"></script>
</head>
<body id="homepage">
<div class="page">
<h1>SPE<span>inspector</span></h1>
<div class="launch">
<p class="button01 main"><a class="maxbutton" href="" onclick="test();">Lancer
l'inspecteur</a></p>
<p class="secondary">Dernière exécution : jeudi 21 janvier 2010 à
10:19 - 817 sites analysés - 4 erreurs</p>
</div>
<!-- /launch -->
<div id="resultat">
</div>
</div>
<!-- /page -->
</body>
</html>
Je vous remercie d'avance
Modifié par Thom77 (29 Sep 2011 - 10:56)