从mysql数据库获取数据以在javascript中使用

use*_*770 14 javascript mysql database ajax

我有一个动态构建html页面的JavaScript.在html页面中有用于输入信息的textarea框.信息已经存在于数据库中.我想用mysql数据库中的数据库填充textarea框.我有PHP代码将连接到数据库并构建一个带有数据的html表,所以我知道如何使用PHP,但我不知道如何从javascrip这样做.我已经研究了ajax get requests等,但我仍然不确定如何做到这一点.

wla*_*oth 19

可能最简单的方法是让一个php文件返回JSON.所以假设你有一个档案query.php,

$result = mysql_query("SELECT field_name, field_value
                       FROM the_table");
$to_encode = array();
while($row = mysql_fetch_assoc($result)) {
  $to_encode[] = $row;
}
echo json_encode($to_encode);
Run Code Online (Sandbox Code Playgroud)

如果你被限制使用document.write(正如你在下面的评论中所说),那么给你的字段一个id属性,如下所示:<input type="text" id="field1" />.您可以使用此jQuery引用该字段:$("#field1").val().

这是HTML的完整示例.如果我们假设你的领域被称为field1field2,然后

<!DOCTYPE html>
<html>
  <head>
    <title>That's about it</title>
  </head>
  <body>
    <form>
      <input type="text" id="field1" />
      <input type="text" id="field2" />
    </form>
  </body>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
  <script>
    $.getJSON('data.php', function(data) {
      $.each(data, function(fieldName, fieldValue) {
        $("#" + fieldName).val(fieldValue);
      });
    });
  </script>
</html>
Run Code Online (Sandbox Code Playgroud)

在构建HTML之后插入,这可能是最简单的.如果您想在动态构建HTML时填充数据,那么您仍然希望PHP文件返回JSON,您只需将其直接添加到value属性中即可.


Jos*_*osh 1

要使用 javascript,你可以这样做:

<script type="Text/javascript">
var text = <?= $text_from_db; ?>
</script>
Run Code Online (Sandbox Code Playgroud)

然后你可以在 javascript 中使用你想要的任何内容将文本 var 放入文本框中。