javascript - 以 Javascript/JSON 显示来自 MYSQL SELECT 的 PHP 结果

标签 javascript php mysql json mobione

我目前正在使用 MobiOne studio 构建一个应用程序,以便使用其发布功能。然而,我遇到了一个独特的问题。该应用程序最基本的功能是向用户查询要输入到托管 MYSQL 数据库中的数据。然后通过搜索框,您可以从同一个 MYSQL 数据库中调用某些记录。插入部分工作完美。但是,我无法显示结果。我可以使用一个简单的 PHP 代码片段在任何旧浏览器中完成这项工作,以循环显示尽可能多的结果的记录。

但是,在客户端运行情况下,PHP 无法顺利运行。 MobiOne更喜欢使用Javascript/JSON/JQuery来显示数据。是否有办法通过 Javascript 将 PHP 脚本服务器端创建的循环内容显示到 HTML block 或 DOM?

下面是我用来从 GET 表单中查找内容的 PHP 代码,该表单的 ID 为“query”,位于单独的 index.php 文件中。就像我说的,这效果很好。但我需要能够获取它吐出的数据并用一些 JS 显示它。

如果您不确定,请查看此链接作为代码实际用途的示例。只需输入“cracker”作为测试搜索查询即可。

http://tjrcomputersolutions.com/apps/edibles/v1.0/index.php

<?php

//capture search term and remove spaces at its both ends if the is any
$searchTerm = trim($_GET['query']);

//check whether the name parsed is empty
if($searchTerm == "")
{
    echo "Enter name you are searching for.";
    exit();
}

//database connection info
$host = "localhost"; //server
$db = "*****"; //database name
$user = "*****"; //database user name
$pwd = "*****"; //password

//connecting to server and creating link to database
$link = mysqli_connect($host, $user, $pwd, $db);

//MYSQL search statement
$query = "SELECT * FROM items WHERE item LIKE '%$searchTerm%'";

$results = mysqli_query($link, $query);

/* check whether there were matching records in the table
by counting the number of results returned */
if(mysqli_num_rows($results) >= 1)
{
    $output = "";
    while($row = mysqli_fetch_array($results))
    {
        $output .= "Item: " . $row['item'] . "<br />";
        $output .= "Store: " . $row['store'] . "<br />";
        $output .= "Size: " . $row['size'] . "<br />";
        $output .= "Price: " . $row['price'] . "<br /><br />";
    }
    echo $output;
}
else
    echo "There was no matching record for the name " . $searchTerm;
?>

最佳答案

您可以使用json_encode将 PHP 数组转换为 JSON 格式。例如:

$items = array(
    array(
        'Item' => 'a',
        'Store' => 'b',
        'Size' => 'c',
        'Price' => 'd',
    ),
    array(
        'Item' => 'e',
        'Store' => 'f',
        'Size' => 'g',
        'Price' => 'h',
    ),
);    

echo json_encode($items); // [{"Item":"a","Store":"b","Size":"c","Price":"d"},{"Item":"e","Store":"f","Size":"g","Price":"h"}]

在您的情况下,您必须使用数据库中的数据安装数组结构,然后调用此函数将其转换为 JSON。

关于javascript - 以 Javascript/JSON 显示来自 MYSQL SELECT 的 PHP 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19736967/

相关文章:

javascript - 未通过 paho mqttws31.js 在移动网络客户端上接收 mqtt 消息

javascript - React 禁用一个按钮,直到按下另一个按钮

php - 绑定(bind)到 PDO 查询的参数数量不正确

javascript - Ajax - 在搜索字段清空后重新加载 div 中的先前数据

导出给定日期之后修改的数据

php - 如果数据库中已存在值,如何显示错误消息?

php - 将日期转换为月份名称和年份

javascript - JQuery 1.8 中的 location.reload 不是默认值 #one

javascript - 有没有办法测试 console.log 条目

php - 动态页面中的动态元标记关键字