我目前正在使用MobiOne studio构建一个应用程序,以便使用它们的发布功能。然而,我遇到了一个独特的问题。该应用程序是最基本的,它向用户查询要输入托管MYSQL数据库的数据。然后通过搜索框,您可以从同一个MYSQL数据库中调用某些记录。插入部分工作得很好。但是,我无法显示结果。我可以在任何旧的浏览器中使用一个简单的PHP代码片段来完成这项工作,以便在循环中显示记录,以获得尽可能多的结果。
但是,PHP在客户端运行情况下不能顺利运行。 MobiOne优先使用Javascript / JSON / JQuery来显示数据。反正有没有通过Javascript将PHP脚本服务器端创建的循环内容显示到HTML块或DOM?
以下是我用来在单独的index.php文件中使用id“query”从GET表单中查找内容的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;
?>
答案 0 :(得分:0)
您可以使用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。