所以我有一个标准的 php 脚本,它存储在位于服务器主文件夹中的外部 php 文件中(在本例中为/html/mysite/getlocations.php)。
<?php
function getData() {
// MySQL-Connection-Variables
$servername = "xxxxxxxxxx.hosting-data.io";
$username = "xxxxxxxxxxxxxxxxxx";
$password = "xxxxxxxxxxxxxx";
$dbname = "xxxxxxxxxxxx";
// Create connection
$conn = mysqli_connect( $servername, $username, $password, $dbname );
$conn_number = mysqli_connect( $servername, $username, $password, $dbname );
// Check connection
if ( !$conn ) {
die( "Connection failed: " . mysqli_connect_error() );
}
// SQL-Query for Locations
$sql = "SELECT ID, Beschreibung, Straße, Hausnummer, PLZ, Ort, Bezirk, Leiter, Email, Telefon, Website FROM Locations";
//SQL-Query for Number of Entries
$sql_number = "SELECT COUNT(*) FROM Locations;"
$result = mysqli_query( $conn, $sql );
// Size of MySQL-Table
$size = mysqli_query( $conn_number, $sql );
$counter = 0;
// 2D-Array with all the needed informations for further processing
$returnarray = array();
// Number of Table-Entries > 0
if ( mysqli_num_rows( $result ) > 0 ) {
// Iterate over all Entries
while ( $row = mysqli_fetch_assoc( $result ) ) {
$desription = $row[ "Beschreibung" ];
$street = $row[ "Straße" ];
$number = $row[ "Hausnummer" ];
$plz = $row[ "PLZ" ];
$city = $row[ "Ort" ];
$bezirk = $row[ "Bezirk" ];
$leiter = $row[ "Leiter" ];
$email = $row[ "Email" ];
$phone = $row[ "Telefon" ];
$website = $row[ "Website" ];
$returnarray[$counter] = array();
$returnarray[$counter]['name'] = $desription;
$returnarray[$counter]['street'] = $street;
$returnarray[$counter]['number'] = $number;
$returnarray[$counter]['plz'] = $plz;
$returnarray[$counter]['city'] = $city;
$returnarray[$counter]['bezirk'] = $bezirk;
$returnarray[$counter]['leiter'] = $leiter;
$returnarray[$counter]['email'] = $email;
$returnarray[$counter]['telefon'] = $telefon;
$returnarray[$counter]['website'] = $website;
$counter = $counter + 1;
}
}
// Close connection
mysqli_close( $conn );
return $returnarray;
}
echo getData();
?>
这个 php 脚本连接到 mysql 数据库,获取信息并将其存储在二维数组中。
现在我想检索这个返回的数组并将其放入 javascript 变量中,这样我就可以使用它在 Wordpress-Codeblock 中进行进一步处理。
所以我的尝试是这样的:
<script type="text/javascript">
var data_from_ajax;
$.get('/html/mysite/getlocations.php', function(data) {
data_from_ajax = data;
});
</script>
但这并没有像我预期的那样工作。
最佳答案
您可以使用 PHP 的内置 json_encode 创建 JSON 字符串函数并用 JS 解析它 JSON.parse .
我不认为你可以在不序列化的情况下将变量直接传递给 Javascript。
关于javascript - 解析将 2D 数组从 PHP 脚本返回到 Wordpress 代码块内的 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602773/