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

AJAX Discussion :

[AJAX] Ajax et les sessions


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 123
    Par défaut [AJAX] Ajax et les sessions
    Bonsoir,

    Merci de me donner un coup de pouce pour trouver la solution :
    j'utilise l'Ajax pour récupérer la note d'un stagiaire à chaque fois que je sélectionne un stagiaire et je dois garder cette note pour la multiplier par un coefficient et mettre le résultat dans un champs résultat.
    la sélection fonctionne très bien mais pour garder la note j'ai utilisé les sessions .
    mais la note récupéré est celle du premier stagiaire sélectionné.

    je veux récupérer la note de chaque stagiaire et la multiplier sans recharger la page.

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 123
    Par défaut
    Bonjour,
    voici mon code :

    page : note.php



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    session_start(); 
    include('connexion.php'); 
    $a = $_GET['a']; 
    $select_stg_sql = mysql_query("select * from stagiaire where id_stg = '".$a."'"); 
    $select_stg = mysql_fetch_array ($select_stg_sql); 
    $_SESSION['note'] = $select_stg['note'];
    Page : ajax.js

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    function shownote(stg) 
    { 
    xmlhttp=GetXmlHttpObject(); 
    if (xmlhttp==null) 
      { 
      alert ("Browser does not support HTTP Request"); 
      return; 
      } 
    var urla="note.php"; 
    urla=urla+"?a="+stg; 
    urla=urla+"&sid="+Math.random(); 
    xmlhttp.onreadystatechange=stateChanged; 
    xmlhttp.open("GET",urla,true); 
    xmlhttp.send(null); 
    } 
     
    function stateChanged() 
    { 
    if (xmlhttp.readyState==4) 
    { 
    document.getElementById('note').innerHTML=xmlhttp.responseText; 
    } 
    } 
     
    function GetXmlHttpObject() 
    { 
    if (window.XMLHttpRequest) 
      { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
      return new XMLHttpRequest(); 
      } 
    if (window.ActiveXObject) 
      { 
      // code for IE6, IE5 
      return new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
    return null; 
    }


    et la page php qui inclue la page ajax.js:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <script language="javascript"> 
    function calculresultat() 
    { 
     
    document.getElementById('nt').value = parseFloat(document.getElementById('coeff').value *  echo $_SESSION['note'] ;  ) 
     
    } 
    </script> 
     
     
    if (isset($_POST['action']) && $_POST['action'] == 'notejout') { 
    ); 
    $sql = 'INSERT INTO `*****` values ("id_stg","note","coeff","resultat" )'; 
     
     
            mysql_query($sql); 
     
                } 
        else {         
     
            echo '<form   method="post" enctype="multipart/form-data"  >'; 
     
     
            echo '<table  >'; 
     
            echo '<td class="intitula"> Stagiaire: </td><td ><select name="id_stg" 
             onChange="javascript:shownote(this.value)">'; 
            echo '<option value="" selected="selected"> Selectionnez un Stagiaire </option>'; 
        $selected_stagiaire_sql = mysql_query("SELECT * FROM stagiaire "); 
    while ($selected_stg =  mysql_fetch_array($selected_stagiaire_sql)) { 
    echo '<option value="'.$selected_stg['id_stg'].'"> '.$selected_stg['nom_stg']." ".$selected_stg['pren_stg'].' </option>';} 
    echo'</select>'; 
     echo'</td>'; 
            echo '</tr>'; 
     
            echo '<tr>'; 
            echo '<td class="intitula"> coefficient: </td><td><input class="infose" type="texte" id="coeff" name="coeff" > </td>'; 
            echo '</tr>'; 
            echo '<tr>'; 
            echo '<td class="intitula"> resultat: </td><td> 
            <input type="texte" id="nt" name="resultat" onFocus="calculresultat();" > </td>'; 
            echo '</tr>'; 
            echo '<tr >'; 
            echo '<td style="text-align: right;"><div id="note" ></div> </td>'; 
            echo '<td><input type="submit" name="button"  value="Ajouter"/></td>'; 
            echo '</tr>'; 
            echo '</table>'; 
     
            echo '</form>';

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par saramery Voir le message
    mais la note récupéré est celle du premier stagiaire sélectionné.
    ça ne serait pas dû à un problème de cache, sous IE essentiellement ?
    Si tu fais F5 après l'appel Ajax, la note attendue s'affiche-t-elle ?

    EDIT : ta variable xmlhttp est bien déclarée en globale ?

    A+

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 123
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,ça ne serait pas dû à un problème de cache, sous IE essentiellement ?
    Si tu fais F5 après l'appel Ajax, la note attendue s'affiche-t-elle ?

    EDIT : ta variable xmlhttp est bien déclarée en globale ?

    A+
    Bonjour,

    je travaille seulement sur firefox,

    oui quand je sélectionne un stagiaire, la note s'affiche mais pour l'utiliser dans le calcul je dois actualiser la page .

    oui il 'est bien déclaré et ça fonctionne .

    Merci pour le temps que vous passez à trouver la solution.

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par saramery Voir le message
    oui quand je sélectionne un stagiaire, la note s'affiche mais pour l'utiliser dans le calcul je dois actualiser la page .
    Alors c'est normal, puisque ta fonction utilise "en dur" la valeur PHP connue au moment de la génération de la page (et non après appel Ajax)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_SESSION['note']
    Il faut que tu modifies ta fonction Javascript pour qu'elle utilise à la place l'objet qui récupère la réponse Ajax, en l'occurrence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('note').innerHTML


    A+

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 123
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Alors c'est normal, puisque ta fonction utilise "en dur" la valeur PHP connue au moment de la génération de la page (et non après appel Ajax)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_SESSION['note']
    Il faut que tu modifies ta fonction Javascript pour qu'elle utilise à la place l'objet qui récupère la réponse Ajax, en l'occurrence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('note').innerHTML


    A+
    Merci bien pour votre réponse ,et j'espère que vous m'expliquiez un peu plus parce que je sais pas où je mets le code que vous m'avez proposé.

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Je parle de cette fonction là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function calculresultat() 
    { 
     
    document.getElementById('nt').value = parseFloat(document.getElementById('coeff').value *  echo $_SESSION['note'] ;  ) 
     
    }
    qui pourrait devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function calculresultat() 
    { 
     
    document.getElementById('nt').value = parseFloat(document.getElementById('coeff').value, 10) *  parseFloat(document.getElementById('note').innerHTML, 10); 
     
    }
    A+

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

Discussions similaires

  1. [AJAX] Ajax - Java - Fin de Session
    Par imhotep_zr7s dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/01/2009, 10h28
  2. Ajax et les sessions
    Par pafi76 dans le forum Langage
    Réponses: 1
    Dernier message: 22/11/2007, 10h07
  3. Réponses: 4
    Dernier message: 28/10/2007, 20h01
  4. [AJAX] Ajax et les sessions PHP
    Par webrider dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/05/2007, 15h44
  5. [AJAX] Ajax et variables de session php
    Par sorlok dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2007, 16h22

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