Parse вернул 2D-массив из PHP-Script в Javascript-переменную внутри кодового блока Wordpress - PullRequest
0 голосов
/ 14 июня 2019

Итак, у меня есть стандартный 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>

Но это не сработало так, как я предполагал.

1 Ответ

1 голос
/ 14 июня 2019

Вы можете создать строку JSON с помощью встроенной в PHP json_encode функции и проанализировать ее в JS с помощью JSON.parse .

Не думаю, что вы можете передавать переменные напрямую в Javascript без сериализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...