【问题标题】:Ajax / JSON / PHP database dataAjax / JSON / PHP 数据库数据
【发布时间】:2015-04-19 14:31:05
【问题描述】:

我更像是一名设计师,但我需要从数据库中获取一些数据。我可以使用 PHP 毫无问题地获得我需要的东西,但我正在 Phonegap 中创建一个移动应用程序,所以除了 HTML、CSS 或 JS 之外不能使用任何东西。

我了解到这可以在服务器上的 PHP 文件中完成,编码为 JSON,然后使用 Ajax 在 HTML 中抓取。

谁能告诉我如何做到这一点,请尽可能简单

【问题讨论】:

  • 到目前为止你有什么事情吗?你知道你的数据库架构是什么吗?你知道如何连接到你的数据库吗?您甚至知道您拥有什么类型的数据库(MySQL、SQLServer、Postgres 等)吗?\
  • “除 HTML、CSS 和 JS 之外的任何内容”——基本上与您在任何 Web 浏览器中可用的内容相同。 PHP 是服务器端技术。互联网上充满了如何进行 AJAX 调用的示例。只需确保您是否有可用的 jQuery,然后搜索 jQuery 示例或纯 JS 示例。
  • @thatidiotguy 嘿。这是MySQL。我还没有任何东西,因为我只是在尝试示例。
  • 感谢@MilanG 将继续查看示例
  • 看看我下面的帖子,我包含了你需要的所有流程,返回值是JSON格式的。欢呼

标签: php ajax json database


【解决方案1】:

Javascript 文件

$.ajax({
        type: "GET",
        dataType: "JSON",
        url: "php/phpDb.model.php",
        data: {
          sataVariable: "here is some data send with GET method"
        },
        success: function(data) {
           console.log(data);
        },
        error: function(data) {
           console.log(data);
        }
      });

php 文件 (phpDb.model.php)

// Connect to database
$con = mysqli_connect("host", "userName", "password", "database") 
    or die('{ "error" : true, "errorMessage" : "Cannot connect to database '.mysqli_error($con).'"}');

// Query
$sqlCalling = "SELECT * FROM table WHERE ";
$result = mysqli_query($con,$sqlCalling);
$rowCalling = mysqli_fetch_array($resultCalling);

mysqli_close($con);

//getting column_1 and column_2
$column_1  = $rowCalling['column_1'];
$column_2  = $rowCalling['column_2'];


// Return a JSON parseable array
    return array(
        "column_1" => $column_1 , 
        "column_2" => $column_2 ,
    );

此解决方案非常通用,您很可能只需将表名和列名替换为数据库中的实际名称。

【讨论】:

  • 不客气,返回对象会在控制台输出,你可以通过谷歌浏览器开发者工具访问。在 Linux 上 CTRL + SHIFT+J
  • 如果您认为答案有意义,请不要忘记验证答案并投票。 :)
【解决方案2】:

这是一个使用 jQuery 的非常基本的示例:

//hello_world.js
$.ajax({
  url:'hello_world.php',
  type: 'POST'
  data: { 'var' : 'Hello World' }
}).done(function(response){
  alert(response); //Well now alert an json string based on your query..
});

//hello_world.php
$STH = $DBH->prepare("SELECT blabla FROM table WHERE column = ?");
$STH->execute(array($_POST['var']));
$STH->setFetchMode(PDO::FETCH_ASSOC);
$resultQuery = $STH->fetchAll();
echo json_encode($resultQuery); //

【讨论】:

  • 谢谢。你能解释一下吗,因为我真的是新手(对不起)所以说在我已经连接到我的数据库的 php 文件中,通过查询选择了我想要的数据,我现在有一个数组,其中的数据为 JSON .这与那有什么关系?
  • 你应该在ajax查询中指明返回类型是JSON
  • @JeanWilliamEyidi 实际上没有必要
猜你喜欢
  • 1970-01-01
  • 2013-01-03
  • 2014-09-18
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多