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

从mysql数据库获取数据以在javascript中使用,javascript,mysql,database,ajax,Javascript,Mysql,Database,Ajax,我有一个动态构建html页面的javascript。在html页面中,有供用户键入信息的文本区域框。该信息已存在于数据库中。我想用mysql数据库中的数据库填充textarea框。 我有php代码可以连接到数据库并用数据构建一个html表,所以我知道如何使用php实现这一点,但我不知道如何从javascrip实现这一点。我已经研究过ajax get请求等,但我仍然不确定如何执行此操作。要使用javascript,您可以执行以下操作: <script type="Text/javascrip

我有一个动态构建html页面的javascript。在html页面中,有供用户键入信息的文本区域框。该信息已存在于数据库中。我想用mysql数据库中的数据库填充textarea框。
我有php代码可以连接到数据库并用数据构建一个html表,所以我知道如何使用php实现这一点,但我不知道如何从javascrip实现这一点。我已经研究过ajax get请求等,但我仍然不确定如何执行此操作。

要使用javascript,您可以执行以下操作:

<script type="Text/javascript">
var text = <?= $text_from_db; ?>
</script>

变量文本=

然后,您可以在javascript中使用您想要的任何内容将文本变量放入文本框。

您不能仅使用javascript。您需要一些服务器端代码(在您的例子中是PHP),作为DB和客户端代码之间的代理。

最简单的方法可能是让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);
如果您被限制使用document.write(正如您在下面的注释中所注意到的那样),那么为您的字段指定一个id属性,如下所示:
。您可以使用jQuery引用该字段:
$(“#field1”).val()

下面是一个完整的HTML示例。如果我们假设您的字段名为
field1
field2
,那么

<!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>

就这样
$.getJSON('data.php',函数(数据){
$.each(数据、函数(字段名、字段值){
$(“#”+字段名).val(字段值);
});
});
这是在构建HTML之后的插入,这可能是最简单的。如果您想在动态构建HTML时填充数据,那么您仍然希望PHP文件返回JSON,您只需将其直接添加到
value
属性中。

您真的需要从javascript“构建”它吗?还是可以从PHP返回构建的HTML并将其插入DOM中

  • 向php脚本发送AJAX请求
  • PHP脚本处理请求并构建表
  • PHP脚本以编码HTML的形式将响应发送回JS
  • JS接收响应并将其插入DOM

  • 我曾多次尝试使用“代码”和类似[code]的变体将我的代码添加到这个评论区,但所有代码最终都出现在一个大博客中。你知道我如何让迷你降价格式为代码工作吗?我的问题是,我可以在JavaScript中间使用jQuery吗?就像在函数的中间,循环遍历行并创建文本框。代码使用document.write生成表行和单元格。在上面的jQuery中,我要用数据库的特定单词替换哪些单词。我要留下“数据”吗?我是否将“key”替换为FSymbol,它是mySql数据库中我提取的基金符号的值的列标题。我是否替换“值”?至于填充输入,我是这样写的:document.write(value);另外,我正在从硬盘上运行javascript,如果我添加query.php的完整路径(如http:\\www.mywebsite.com\query.phpThanks),这也会起作用。感谢您的帮助。我将尝试以php文件的形式重新执行此操作,并从服务器运行代码,从php代码构建html页面,然后在构建html页面并使用数据库中的数据填充之后,转到javascript以获取其他函数