使用 AJAX 和 PHP 将 MYSQL 中的数据显示到文本字段中

Posted

技术标签:

【中文标题】使用 AJAX 和 PHP 将 MYSQL 中的数据显示到文本字段中【英文标题】:Display data from MYSQL into text field using AJAX and PHP 【发布时间】:2021-08-23 20:55:06 【问题描述】:

我想使用 AJAX 将我在 getword.php 中调用的数组数据显示到 index.php 的文本字段中。但是如何?

这是 index.php

<body>
<div class="container" >
<h2>View data</h2>
<h4>Word List : </h4>   
    

        <div class="form-group">
            <input id="wordlist" type="text" class="form-control" name="wordlist">
            </div><br>
            <button id="display" title="Generate Word">Generate</button>
            <div class="input-single">
            </div>
    
            <script type="text/javascript">
            $(document).ready(function() 
            $("#display").click(function() 
            $.ajax(    
                type: "POST",
                url: "getword.php",
                dataType: "json",
                success: function($result)
                $('#wordlist').val('');
                    
            );
      );
    )
    </script>

这是从数据库中获取数据到数组中的 sql 查询 (getword.php)

<?php
$host = "localhost";
$user = "root";
$password = ""; 
$dbname = "wordlist";

$con = mysqli_connect($host, $user, $password, $dbname);
if (!$con) 
 die("Connection failed: " . mysqli_connect_error());


$sql = "select kata from word"; 

 $res = mysqli_query($con,$sql); 
 $result = array(); 
 while($row = mysqli_fetch_array($res))
    $result[]= $row[0];
 
 echo json_encode(array('kata'=>$result));  
 mysqli_close($con);

?>

【问题讨论】:

现在的错误是什么? 数据在$result变量中。在成功处理程序中尝试console.log($result); 【参考方案1】:

我建议你编写如下 PHP 代码,这样会更简单

<?php
   $host = "localhost";
   $user = "root";
   $password = ""; 
   $dbname = "wordlist";
   $con = mysqli_connect($host, $user, $password, $dbname);
   if (!$con) 
     die("Connection failed: " . mysqli_connect_error());
   
   $sql = "SELECT kata FROM word"; 
   $res = $con->query($sql); 
   while($row = mysqli_fetch_array($res))
      $dataToSend = $row[0];
   
   mysqli_close($con);
  
   echo json_encode($dataToSend);  
?>

现在脚本是这样的,将结果放在文本框中

$.ajax(
  type: "POST",
  url: "getword.php",
  dataType: "json",
  success: function($result) 
    var val = JSON.parse($result);
    console.log(val); // see console in browser to check what is sent back
    var txtBox = docuent.getElementById('wordlist');
    txtBox.value = val;
  
);
在这里,我猜 PHP 文件中的数据将是单个值,因为您使用的是单个文本框。如果有多个值,则使用数组在 PHP 中存储数据并将其发送到 json_encode() 本身。 希望这对您有所帮助。

【讨论】:

以上是关于使用 AJAX 和 PHP 将 MYSQL 中的数据显示到文本字段中的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ajax 和 PHP 插入数据库(mysql)

使用 Ajax、PHP、MYSQL 更新表单

从 PHP (jQuery/AJAX) 插入 MySQL

AJAX PHP MYSQL 更新/编辑记录 (jQuery)

如何根据使用 jQuery/AJAX 和 PHP/MySQL 选择的第一个下拉列表填充第二个下拉列表?

AJAX 使用从 PHP 生成的 HTML 调用的函数更新 MYSQL 数据库