【问题标题】:jQuery and AJAX : Fill a formjQuery 和 AJAX : 填写表格
【发布时间】:2015-08-11 01:42:09
【问题描述】:

现在,我想创建一个 AJAX 函数以在菜单中进行选择后填写表单。 这就是我的 jQuery 代码:

('select').change(function(){
    $.ajax({
        type : "GET",
        url  : 'formulaire.php',
        data : formulaire,
        success: function(server_response){

        }
    });

还有我的 PHP 页面:

include '../Modele/sql.php';

if (isset($_GET['formulaire'])){
$formulaire = $_GET['formulaire'];
$formulaire = array('formulaire' => $formulaire);

// On effectue la requête vers la base de données
$sql = 'SELECT * FROM saisie_formulaire WHERE FOR_ID = :formulaire';
$requete = $bdd->prepare($sql);
$requete->execute($formulaire);

$compteur = $requete->rowCount($sql);

// S'il y a un résultat, on retourne le nombre de lits pour chaque type et chaque période
if ($compteur >= 1){
    while ($resultat = $requete->fetch(PDO::FETCH_OBJ)){


    }
}  

但我不知道如何在我的 SQL 查询之后返回以填写我的 HTML 表单。 有人有吗?

【问题讨论】:

  • 您的意思是,您从 MySQL 获得结果,但是您不知道如何处理这些结果?法语和英语之间的有趣代码混合,en tous cas
  • 是的,我不知道如何使用它们来填写我的表格。嗯,我的代码是法语的,不是英语的^^
  • 嗯,这是基本的 MySQL 解析:$value = $resultat['columnName'],例如:$email = $resultat['email']
  • 是的,但是如何用这个值填写表格? AN only 够了吗?
  • 哦,不。最好的做法是将结果编码为 json,然后回显 json_results。您将在 server_response 变量中获得此 JSON 客户端。我给你写个例子,给我一分钟。

标签: php jquery ajax forms autocomplete


【解决方案1】:

你可以这样做:

$resultat = $requete->fetch(PDO::FETCH_OBJ);

$rows = array();
while($r = mysqli_fetch_assoc($resultat)) { // Transforming MySQL results into a regular array of data
    $rows[] = $r;
}
echo json_encode($rows); // Echo this JSON back to the client

在客户端,取回这个 JSON 数据:

('select').change(function(){
    $.ajax({
        type : "GET",
        url  : 'formulaire.php',
        data : formulaire,
        success: function(json){
             console.log(json);
             // Here you get your data as JSON, use it to populate your form.

             $("#emailField").val(json.email);
             $("#nameField").val(json.name);
        }
    });

【讨论】:

  • 好的,但是要使用 json 填写我的表单,我必须使用 jQuery 吗?如果是,我必须使用 append 函数还是 val() ?我需要为表单的每个字段提出一个想法,所以,不是吗?
  • 来吧,这些都是基本的东西,如何使用 MySQL 请求,如何利用 jQuery 来利用 JSON……如果你不知道这些东西,google 一下,有很多教程。我更新了我的代码,向您展示如何填写一些字段。但是,由于我不知道您的 MySQL 表结构或 HTML 代码是什么样的,所以我使用了json.emailjson.name。请改用您的实际列名。
  • 所以,我可以从我的数据库中获取我的数据,但我无法使用您的示例将它们添加到字段中。我的控制台没有显示任何错误,只有我的 JSON 数组。
  • 数据库中的变量是否包含下划线是否重要?因为,我的 console.log 向我展示了我的 JSON 数组,但是当我这样做时: $('#hommes-matin').val(json.UF_LITS_HOMMES_MATIN);它什么也没显示,console.log(json.UF_LITS_HOMMES_MATIN) 显示:未定义
  • 不,应该没问题。这是一个有效的名称,下划线很好。 JSON 是什么样的?控制台输出什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
相关资源
最近更新 更多