IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] Modification dans une page en cours de création


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut [Dates] Modification dans une page en cours de création
    Bonjour,
    le sujet n'est pas très explicite donc,
    voila je m'explique:

    En gros, je crée une structure de page PHP (de façon automatique) avec des <span id=...> pour identifier certains éléménts.

    je voudrais ensuite (alors que la page n'est pas encore affiché coté client !) remplir les élements span id de la page.

    pour faire simple, je recherche l'equivalent en PHP du javascript: document.getElementById(n).innerHTML

    je rappelle que je ne veux pas modifier une page déjà affichée sur le navigateur client mais modifier une page que je suis en train de générer.

    algo grossier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
     
    for ($i=1;$i<$var;$i++)
    {
     echo $i;
     echo "<span id=".(genererID())."></span>";
     echo "<br>";
    }
     
    // une fois la structure générée, on modifie certains éléménts
    // genererID génère des numéros uniques comme par exemple: "123456789"
     
    // modifier change le texte de mon élement
    modifierID("123456789");
     
    ...
     
    ?>
    mon principal but est d'éviter d'utiliser javascript pour des raisons de compatibilité mais bien sur si je n'ai pas le choix, je devrais y passer.

    edit13-12-07: titre plus explicite

  2. #2
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    pour faire simple, je recherche l'equivalent en PHP du javascript: document.getElementById(n).innerHTML
    Je crois que tu n'as pas bien saisi le principe de PHP qui est un langage qui s'éxecute du côté du ...serveur et non du client.

    Cependant tu peux stocker le squelette de ta page dans un buffer et remplir les champs en "parsant" la page. Donc un système de template

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    je crois que tu n'as pas bien saisi ma question:

    je ne veux pas modifier une page déjà affichée sur le navigateur client mais modifier une page que je suis en train de générer

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Points : 284
    Points
    284
    Par défaut
    salut,

    j'avoue que je ne comprends pas trop l'interet ...
    Pourquoi tu ne géneres pas directement bien le code ? Ca n'en sera que plus lisible en plus ! C'est un traitement classique quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    for ($i=1;$i<$var;$i++)
    {
     echo $i;
     echo "<span id=".(genererID()).">traitement de modifierID("123456789");</span>";
     echo "<br>";
    }
     
    ...
     
    ?>
    Si c'est pour faire un template que tu réutilise et remplit alors PaRa-BoL a raison tu peux utiliser des templates que tu parse pour les remplir, non ?...

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    c'est pour des questions de performance que je ne veux pas faire le traitement de modifierID("123456789") au fur et à mesure:

    je génère environ 200 span mais seulement une dizaine sont remplis

    il s'agit grosso-modo d'un calendrier événementiel sur 6mois.

    1- je génère le calendrier vide
    2- j'affiche les evt dans les bonnes cases (=date)

    afficher directement reviendrait à faire un test pour chaque date pour savoir si un evt à lieu ce jour-ci.

  6. #6
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Je pense que tu dirige vers la mauvaise direction.

    afficher directement reviendrait à faire un test pour chaque date pour savoir si un evt à lieu ce jour-ci.
    Ca dépend ce que tu appels un test. Il te suffit de faire une seule requête et une seule fois, et te mettre dans un array les dates qui ont un évènement et de vérifier au moment voulu. (Et qui serai largement plus performant).

  7. #7
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    c'est bien ce que j'envisagé:
    1 seule requete au début,
    on stocke les resultats dans un tableau,
    mais ensuite, on doit, pour chaque case du calendrier, vérifier si un evt existe pour cette date.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pour chaque jour, verifier si evt existe
    Je ne trouve pas ça très performant par rapport à mon idée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pour chaque evt, mettre a jour affichage

  8. #8
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Détrompe toi.
    Faire une verification dans un tableau du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($tanbleau[$x]) {
    Ne prend quasiment rien en ressources.

    Par contre la solution que tu proposes est elle largement bien plus gourmande. Imagine ce que PHP va devoir faire pour mettre en place ce raisonnement ?
    La question n'est pas de savoir si cela parai plus rapide de notre point de vu haut niveau mais bien ce que PHP va devoir endurer

  9. #9
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    j'ai finalement opté pour du javascript en attendant de mettre en oeuvre une solution tout PHP.

    je laisse le sujet ouvert si qqun a une autre solution à proposer (je n'aime pas la solution des dix mille "if" LOL)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une page de modification dans une page jsp
    Par zakarinalaw dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/05/2013, 22h05
  2. evenement detecter modification dans une page
    Par calitom dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/11/2007, 18h04
  3. [Réseau] Date de modification d'une page web distante
    Par laurent_h dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2007, 02h36
  4. [Dates] Calendrier (tigra) dans une page php
    Par melendil dans le forum Langage
    Réponses: 3
    Dernier message: 15/03/2007, 14h50
  5. Réponses: 1
    Dernier message: 08/03/2004, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo