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

PHP & Base de données Discussion :

PHP AJAX MYSQL , MVC


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur Full Stack
    Inscrit en
    Mars 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mars 2010
    Messages : 34
    Par défaut PHP AJAX MYSQL , MVC
    bonjour , quelqu'un pour m aider , je commence a mettre du temps pour le realiser alors qu'en architectuire simple ca marche , voila le probleme : je dois dans un formulaire apres avoir recupere un numero de compte , afficher automatiquement les informations du clients en ajax afin de un creer un rv pour ce cllient .
    quand j'utilise trois fichier ca marche , un fichier x.js , form.php et xmember.php . x.js c est le fichier ajax et il appelle xmember.php et le formulaire c est form.php . si c est trois fichier ca marche avec mysql . maitenant je dois l'integrer avec une architecture MVC c est a dire le formulaire et xmember sont dans un seul fichier chacun dans une fonction et le fichier x.js appelle l'url au format Rvous.php?key=xxx&Ops=zzz , donc mon probleme est la recuperation du numero de compte dans le controleur et de le passer en argument au controleur, puis l'afficher en instantane les autre elements recupere dans les champs du formulaire puis passer a la cretions de l'action . merci

  2. #2
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Bonjour,

    Peut-être peux-tu commencer par montrer tes 3 fichiers ?

  3. #3
    Membre averti
    Profil pro
    Développeur Full Stack
    Inscrit en
    Mars 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mars 2010
    Messages : 34
    Par défaut
    bonjour denis voila les trois fichiers :
    form.php
    Code HTML : 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
    <!DOCTYPE html>
    <!--
    To change this license header, choose License Headers in Project Properties.
    To change this template file, choose Tools | Templates
    and open the template in the editor.
    -->
    <html>
        <head>
            <title>TODO supply a title</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <script type="text/javascript" src="jquery.js"></script>
            <script type="text/javascript" src="x.js"></script>
        </head>
        <body>
            <div>
                <!--debut du formulaire-->
                <form class="ajax" action=" " method="GET">
                    <p>
                        <label for="numcompte">Rechercher un compte </label>
                        <input type="text" name="numcompte" id="numcompte" />
                    </p>
                </form>
                <!--fin du formulaire-->
                <!--preparation de l'affichage des resultats-->
                <div id="results"></div
     
            </div>
        </body>
    </html>
    x.js
    Code Javascript : 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
    $(document).ready( function() {
      // détection de la saisie dans le champ de recherche
      $('#numcompte').keyup( function(){
        $field = $(this);
        $('#results').html(''); // on vide les resultats
        $('#ajax-loader').remove(); // on retire le loader
     
        // on commence à traiter à partir du 10ème caractère saisie
        if( $field.val().length > 9 )
        {
          // on envoie la valeur recherché en GET au fichier de traitement
          $.ajax({
      	type : 'GET', // envoi des données en GET ou POST
    	url : 'xmember.php' , // url du fichier de traitement
    	data : 'numcompte='+$(this).val() , // données à envoyer en  GET ou POST
    	beforeSend : function() { // traitements JS à faire AVANT l'envoi
    		$field.after('<img src="ajax-loader.gif" alt="loader" id="ajax-loader" />'); // ajout d'un loader pour signifier l'action
    	},
    	success : function(data){ // traitements JS à faire APRES le retour d'ajax-search.php
    		$('#ajax-loader').remove(); // on enleve le loader
    		$('#results').html(data); // affichage des résultats dans le bloc
    	}
          });
        }		
      });
    });
    xmember.php
    Code PHP : 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
    <?php
     
    $serveur2 = " ";
    $user2 = " ";
    $passwd2 = " ";
    $bdd2 = " ";
    $port2 = ' ';
     
    try {
        $CNXSQL = new PDO('odbc:Driver=FreeTDS;Server=' . $serveur2 . ';port=' . $port2 . ';dbname=' . $bdd2, $user2, $passwd2);
        //  $cnx = new PDO('odbc:Driver=FreeTDS;Server=' . $serveur2 . ';port=' . $port2 . ';dbname=' . $bdd2.';UID=' . $user2 .';PWD=' . $passwd2 );
        $CNXSQL->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Obligatoire pour la suite
    } catch (PDOException $error) {
        echo 'No : ' . $error->getCode() . '<br />';
        die('Erreur : ' . $error->getMessage() . '<br />');
    }
    //connexion à la base de données 
    // On se connecte à la base
    $numcompte = $_GET['numcompte'];
     
    $sql = "select cl.COD_CLIENTE as numMembre , cl.NOM_CLIENTE as nom , cl.TEL_PRINCIPAL as telephone , "
            . "ad.DET_DIRECCION as addresse from MECZY.CL.CL_CLIENTES cl , MECZY.CL.CL_DIR_CLIENTES ad "
            . "  where cl.COD_CLIENTE = '" . $numcompte . "' and cl.COD_CLIENTE = ad.COD_CLIENTE ";
    $qid = $CNXSQL->prepare($sql);
    $resultat = $qid->execute();
    if (!$resultat) {
        ?>
        <h3 style="text-align:center; margin:10px 0;">Pas de r&eacute;sultats pour cette recherche</h3>
        <?php
    } else {
        while ($row = $qid->fetch(PDO::FETCH_OBJ)) {
            //echo "$row->numMembre";
            echo '<BR>';
            echo "$row->nom";
            echo '<BR>';
            echo "$row->telephone";
            echo '<BR>';
            echo "$row->addresse";        
        }
    }
     
    ?>
    on rappele que on doit avoir un controleur qui charge le formulaire , ainsi sin on met le num du client , il reagit en chargent les autre donnes
    du client dans le formulaire et ainsi proceder a la creation du rv .
    on rapple que model amrche pour les autres modules , mais on integre du ajax , c la ou se trouve le problleme .
    merci grandement

Discussions similaires

  1. [Mission/Télétravail] Ingénieur développeur java/j2EE/php/ajax/mysql
    Par jaljal dans le forum Demandes
    Réponses: 0
    Dernier message: 23/12/2009, 14h22
  2. [Télétravail] Développeur PHP - AJAX - MySQL - JavaScript
    Par paradeofphp dans le forum Demandes
    Réponses: 0
    Dernier message: 03/03/2009, 00h08

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