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

JavaScript Discussion :

[AJAX] Appeler un fichier include PHP avec ajax


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut [AJAX] Appeler un fichier include PHP avec ajax
    Bonjour tout le monde,

    C'est la toute première fois que je viens sur le forum "AJAX", je n'ai jamais programmé en ajax.

    J'ai un problème qui nécessite de l'ajax.

    J'aimerais à partir de javascript appeler un include PHP suite au changement de valeur de ma liste déroulante.

    J'avais ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="select_Nom_Tables" size="1" onchange="<?php include ('Scripts/Changer_De_Table.php'); ?>">
    On me dit que je DOIS passer par AJAX pour résoudre ce problème.

    Sauriez-vous me dire comment je peux résoudre ce problème ?

    C'est promis, ce WE, je m'achète un livre sur AJAX.

    Merci encore pour l'aide.

    beegees

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    va falloir préciser un peu les choses
    Visiblement, ta page PHP renvoie en faite uniquement un script JS ...

    Qu'est ce qui fait que tu DOIVES utiliser Ajax ?

    Ce script JS ayant besoin d'être généré dynamiquement, pourquoi la solution actuelle ne convient plus (je suppose que le besoin fonctionnel ou les contraintes techniques ont changé) ?

    Enfin, avant d'acheter un livre, commence par les tutos

    A+

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Merci pour ta réponse.

    Qu'est ce qui fait que tu DOIVES utiliser Ajax ?
    J'ai été sur le chat de dvp.com, SpaceFrog m'a dit que ça nécessitait AJAX.

    Ce script JS ayant besoin d'être généré dynamiquement, pourquoi la solution actuelle ne convient plus (je suppose que le besoin fonctionnel ou les contraintes techniques ont changé) ?
    Ce script n'a jamais fonctionné.

    Dès que ma page est chargée, la liste déroulante est vide.

    Voici le code du formulaire concerné :

    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
     <form id="form1" name="form1" method="post" action="EntreeDeDonnees.php" target="_parent">
     
     
                  <div align="center">
                    <p>
    				<select name="select_Nom_Tables" size="1" onchange="<?php include ('Scripts/Changer_De_Table.php'); ?>">
                        <?php include ('Scripts/Charger_Nom_Tables_Dans_Liste_Deroulante.php'); ?>
                      </select>
                      <!--Champ dynamique ici -->
                    </p>
                    <p>
                      <input type="submit" name="Submit" value="Changer de table" />
                    </p>
                  </div>
                </form>
    et voici le code de l'include PHP :

    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
    <?php
    # script qui permet de créer des zones de texte à la volée et d'afficher le nom des champs de la table
    # variable qui contient le nom de ma base de données.
    $dbname = 'deliberations';
     
     
    $link = mysql_connect('localhost', 'root', 'mdp');
    	if(!$link)	  
    	 {
       		echo 'Impossible de se connecter à MySQL';
       		exit;
    	}
     
    	// Rendre la base de données deliberation, la base courante
    $db_selected = mysql_select_db($dbname, $link);
    if (!$db_selected) 
    	{
    	   die ('Impossible de sélectionner la base de données : ' . mysql_error());
    	}
     
    # $_POST[select_Nom_Tables] récupère la valeur choisie par l'utilisateur, il faut ensuite cliquer sur le bouton pour qu'apparaisse les zones de texte	
    $result = mysql_query("SHOW COLUMNS FROM .$_POST[select_Nom_Tables]") or die (mysql_error());
     
     
      while ($row = mysql_fetch_assoc($result))  
       { 
       	  # ne montre que les noms des champs grâce à 'Field'
       	  echo $row['Field']." "; 
    	  # crée des zones de texte dynamiquement par rapport au nombre de champs.
       	  echo "<input name=\"textarea\" type=\"text\" value=\"\" /> <br/>";
     
     
       } 
     
     
     
    ?>
    Merci encore pour ton aide.

    beegees

  4. #4
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par beegees Voir le message
    J'ai été sur le chat de dvp.com, SpaceFrog m'a dit que ça nécessitait AJAX.
    C'est une très bonne raison

    En résumé :
    • la page que tu appelles via Ajax doit renvoyer des instructions Javascript uniquement (sans les balises <script>)
    • ces instructions JS doivent créer les input correspondants aux champs de la table choisie. Comme il s'agit de modifier le contenu d'un <form>, tu dois passer par les instructions DOM (à la place de ton
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo "<input name=......
    • mais avant de créer les nouveaux input, il faut supprimer ceux correspondant au choix précédent. Pour ce faire, il faut rassembler ces input dans un div identifié par un ID. Ca te permettra de les supprimer facilement, sans avoir eu à les mémoriser au préalable. Toujours grâce aux instructions DOM prévues.
    • EDIT : et bien sûr, le résultat que tu récupéreras par Ajax (dans responseText) devra être exécuter via eval()

    Est-ce que ça te permet de démarrer ?

    A+

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Un tout grand merci pour le temps que tu as consacré à cette réponse.

    Je me demande tout doucement si un simple get ne ferait pas l'affaire ?

    Je vais relire attentivement ta réponse et je vais essayer de m'y mettre, j'ai toute la journée pour finir cela.

    Encore un tout grand merci à toi.

    beegees

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

Discussions similaires

  1. [AJAX] Appel de fonction php avec ajax
    Par simoinfonet dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/05/2008, 11h39
  2. [AJAX] Rafraichir variable php avec ajax
    Par sff dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/04/2008, 15h01
  3. [AJAX] Réafficher d'une page php avec ajax
    Par red_nour dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/06/2007, 08h21
  4. Erreur lors de l'appel d'une page executée avec AJAX
    Par jt-tronix dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2006, 17h56
  5. [AJAX] PHP avec ajax(makerequest)
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 11/04/2006, 16h53

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