Я пытаюсь применить sql-запросы к шаблону усов. Я запрашиваю таблицу пользователей в базе данных laravel. Пока у меня есть возвращающееся имя: «Джон», фамилия «Смит»
Моя страница api.php запрашивает базу данных и возвращает данные как json. Здесь нет проблем.
<?php
$host = "localhost";
$user = "root";
$pass = "root";
$databaseName = "laravel";
$tableName = "users";
include 'DB.php';
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$result = mysql_query("SELECT * FROM $tableName");
//fetch result
$array = mysql_fetch_row($result);
echo json_encode($array);
?>
Затем у меня есть страница client.html, на которой я пытаюсь создать шаблон. Это потому, что я возвращаю JSON без какой-либо структуры только чистые данные? Есть ли способ указать, какие данные я хочу вернуть с помощью запросов. В настоящее время я запрашиваю все данные и пытаюсь их шаблонировать.
<html>
<head>
<script language="javascript" type="text/javascript" src="jquery.js"></script>
</head>
<body>
<h2> Client example </h2>
<h3>Output: </h3>
<script id="projectstpl" type="text/template">
<div id="output">
{{#projects}}
<div class="project">
<h3>{{name}}</h3>
<h4>{{lastname}}</h4>
</div>
{{/projects}}
</div>
</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.cycle/2.9999.8/jquery.cycle.all.min.js" type="text/javascript"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/mustache.js/0.7.0/mustache.min.js" type="text/javascript"></script>
<script id="source" type="text/javascript">
$(function() {
$.ajax({
url: 'api.php', //the script to call to get data
data: "", //you can insert url argumnets here to pass to api.php
//for example "id=5&parent=6"dataType: 'json', //data format
success: function(data) { //on recieve of reply
var template = $('#projectstpl').html();
var html = Mustache.to_html(template, data);
$('#output').html(html);
}
});
});
</script>
</body>
</html>
Я не эксперт в mustache.js. Но, основываясь на его демонстрации, https://mustache.github.io/#demo
Кажется, что ваш JSON должен быть не просто [«1», «John», «Smith»], а что-то вроде этого [«projects»: [{«name»: «John», «lastname»: «Smith»} ]].
Я уверен, что вы можете удалить {{#projects}} из вашего HTML и вместо этого использовать JSON просто как [«name»: «John», «lastname»: «Smith»].
Других решений пока нет …