Page d'attente pour moteur de recherche [résolu]

Page d'attente pour moteur de recherche [résolu] - PHP - Programmation

Marsh Posté le 09-07-2004 à 15:10:25    

Bonjour,
 
je cherche à insérer une page d'attente entre le formulaire de recherche et l'affichage des résultats, comme c'est le cas sur ce site, pour que l'utilisateur ne soit pas face à une page blanche si la recherche se prolonge.
 
Quelqu'un aurait-il une idée ou une URL ?


Message édité par nagadoudi le 13-07-2004 à 19:13:35
Reply

Marsh Posté le 09-07-2004 à 15:10:25   

Reply

Marsh Posté le 09-07-2004 à 15:23:42    

Ben dans ta page de traitement t'affiche un message d'attente, et puis quand la recherche est finie, tu rediriges sur la page de résultats

Reply

Marsh Posté le 09-07-2004 à 15:41:02    

Pour faire les choses bien, je préfèrerais 1 page séparée pour l'attente.
 
Cela dit ton idée est bien aussi, mais comment détecter que la recherche est terminée ?
Et comment enlever le message d'attente au profit des résultats ? En javascript ? Je voudrais que cela fonctionne aussi avec les navigateurs qui ne supportent pas le script ou qui l'ont désactivé.


Message édité par nagadoudi le 12-07-2004 à 12:47:52
Reply

Marsh Posté le 09-07-2004 à 17:23:45    

Je suis pas sur qu'une page séparée pour l'attente soit plus bien que si elle est dans la même page...
Pour rediriger quand la recherche est terminée, il suffit de rediriger quand mysql te renvoie les résultats de ta requete...
 
Quels messages d'erreurs ? Ceux quand la requete est pas correcte ?  Ben tu les affichent seulement quand t'as une erreur, donc à priori t'as pas de résultats en même temps...
 

Reply

Marsh Posté le 09-07-2004 à 17:52:19    

gooopil a écrit :

Je suis pas sur qu'une page séparée pour l'attente soit plus bien que si elle est dans la même page...


 
C'est même certain que c'est moins bien.  :o


---------------
Expert en expertises
Reply

Marsh Posté le 09-07-2004 à 20:39:36    

Demande à Joce comment il fait pour ce forum


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 12-07-2004 à 12:47:25    

nagadoudi a écrit :

Et comment enlever le message d'erreur


Oups, je voulais dire message d'attente
 

gooopil a écrit :

Je suis pas sur qu'une page séparée pour l'attente soit plus bien que si elle est dans la même page...


Pourtant c'est ce qu'il se passe sur ce forum : on a la page avec le formulaire de recherche (search.php), la page d'attente qui semble être la même (avec l'ordre des arguments GET changé) et une page différente pour l'affichage des résultats (forum1.php).
 

gooopil a écrit :

il suffit de rediriger quand mysql te renvoie les résultats de ta requete


Comment ? Lorsqu'on affiche une sortie HTML dans une page, la fonction header() devient inutilisable.

Reply

Marsh Posté le 13-07-2004 à 00:28:52    

<meta http-equiv='Refresh' content='3;url=resultat.php'>

Reply

Marsh Posté le 13-07-2004 à 07:29:37    

gooopil a écrit :

<meta http-equiv='Refresh' content='3;url=resultat.php'>

:heink:

Reply

Marsh Posté le 13-07-2004 à 11:59:30    

Reply

Marsh Posté le 13-07-2004 à 11:59:30   

Reply

Marsh Posté le 13-07-2004 à 16:39:34    

j'avais cherché ça en mon temps, la seule solution c'est de passer sur un systeme de 3 pages :
 
1 page avec formulaire  
>>
page d'attente (ici tu récuperes tes variables de la page 1 que tu renvoies sur la page 3 (jscript ou autre méthode)
>>
page 3 = ton script qui traite les données
 
de la sorte tant que les données ne sont pas traitée par la page 3 (et que donc aucun affichage n'est envoyé), tu as la page intermédiaire à l'écran

Reply

Marsh Posté le 13-07-2004 à 19:12:51    

Merci, c'est à peu près ça que j'ai trouvé auj :bounce: :
 
1. Page avec formulaire de saisie
 
2. Page de traitement qui :

  • génère un identifiant de recherche
  • affiche un message d'attente
  • exécute flush() de manière à afficher le message même le script n'est pas terminé
  • effectue la recherche
  • crée la page de résultats (nouveau fichier, repéré par l'identifiant de recherche)


Le message d'attente contient la ligne <meta http-equiv="refresh" content="2;url=redirection.php" />.
 
3. La page "redirection.php" qui :

  • redirige vers la page de résultat si elle existe
  • redirige vers la page 2 avec un paramètre pour afficher le message d'attente mais ne pas lancer de nouvelle recherche.


Des questions ? ;)

Reply

Sujets relatifs:

Leave a Replay

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