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
et voici les trois fichiers :
form.php
[code]<!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> [code]
x.js
[code]$(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
}
});
}
});
});[code]
et
xmember.php
[code]<?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é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";
}
}
?>[code]
merci
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
et voici les trois fichiers :
form.php
[code]<!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> [code]
x.js
[code]$(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
}
});
}
});
});[code]
et
xmember.php
[code]<?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é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";
}
}
?>[code]
merci