Нужна ли база данных SQL для извлечения данных с сервера?

Извините, но я новичок в веб-разработке. В последнее время я играл с некоторыми объектами JSON и использовал пример с сайта W3school…http://www.w3schools.com/json/json_example.asp.’

Пример извлекает данные из базы данных MYSQLi и внедряет их в объект JSON. Я использовал этот пример для создания динамического сайта, но моя проблема в том, что я не уверен, нужна ли вам база данных для хранения данных. Может ли объект JSON быть непосредственно получен с сервера?

Ответ от сервера анализируется как объект JSON. т.е. var = JSON.parse (ответ)

<!DOCTYPE html>

<html>

<head>

<title>XMLHTTPREQUESTEXAMPLE</title>

</head>

<body>

<p id="id01"></p>

<script>

var xmlhttp = new XMLHttpRequest();

var url = "//http:URL";

xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

myFunction(xmlhttp.responseText);

}else{

document.getElementById("id01").innerHTML = "Server not responding";

}

}

xmlhttp.open("GET", url, true);

xmlhttp.send();function myFunction(response) {

var arr = JSON.parse(response);

var i;

var out = "<table><tr><th>Name</th><th>Job Title</th><th>Room No</th><th>Tel Ext</th><th>Email</th></tr>";for(i = 0; i < arr.length; i++) {

out += "<tr><td>" +

arr[i].Name +

"</td><td>" +

arr[i].JobTitle +

"</td><td>" +

arr[i].RoomNo +

"</td></tr>"
arr[i].TelExt +

"</td></tr>"
arr[i].Email +

"</td></tr>";

}

out += "</table>"
document.getElementById("id01").innerHTML = out;

}

</script>

</body>

</html>

Пример php-скрипта на сервере со школьного сайта W3.

$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");

$result = $conn->query("SELECT CompanyName, City, Country FROM Customers");

$outp = "[";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "[") {$outp .= ",";}
$outp .= '{"Name":"'  . $rs["CompanyName"] . '",';
$outp .= '"City":"'   . $rs["City"]        . '",';
$outp .= '"Country":"'. $rs["Country"]     . '"}';
}
$outp .="]";

$conn->close();

echo($outp);
?>

0

Решение

В этом примере для извлечения данных используется база данных MySQL, но вы можете просто вывести свои собственные данные, просто чтобы протестировать ваш AJAX с примером JSON, например, так:

<?php

$array = array(
"Key" => "value",
"Foo" => "Bar");

$jsonData = json_encode($array);

echo ($jsonData);

?>

Затем вы можете получить значения в вашем Javascript myFunction при выполнении :

arr.Foo; //would return Bar

База данных предназначена только для хранения долгосрочных данных, она не нужна для функциональной части этого руководства.

0

Другие решения

Я думаю, что наиболее подходящий вопрос будет: «Нужна ли база данных для данных / приложений такого типа?» Или «Должен ли я использовать БД для этого типа приложения?» С технической точки зрения, нет, вам не нужна база данных для хранения и извлечения информации с сервера, но в зависимости от того, чего вы пытаетесь достичь, база данных, вероятно, будет самым мудрым решением.

0

ты пытался json_encode($value)? http://php.net/manual/en/function.json-encode.php

это кодирует массив в объект json, и, конечно, вы можете хранить данные json в любом типе файла, а не только в базе данных.

0
По вопросам рекламы [email protected]