Привязка данных полимера к данным таблицы MySQL с помощью PDO

Я пытаюсь синхронизировать некоторые свойства полимерных элементов с базой данных MySQL на localhost, используя MAMP.

Как передать данные SQL из переменной PHP в связанное свойство данных Polymer?

Полимерный элемент выглядит следующим образом:

<iron-ajax id="ajax"auto
url="../src/data/php/get_data.php"last-response="{{lastResponse}}"handle-as="text"></iron-ajax>

static get properties() { return {

lastResponse: {
type: Object,
value: {}
}

}}

lastResponse () {
console.log(this.lastResponse);
}

PHP-скрипт выглядит следующим образом:

<?php

$servername = "localhost";
$username = "***";
$password = "***";
$dbname = "myDB";

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
$stmt->execute();

// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;

?>

0

Решение

Функция PHP

get_data.php

должен повторить (не вернуть) JSON, так как:

$res['data'] = 'Hello!';
echo json_encode($res);

и iron-ajax должен быть установлен для получения JSON:

handle-as="json"

как в документах здесь

https://www.webcomponents.org/element/PolymerElements/iron-ajax/elements/iron-ajax

В Polymer сначала выполните запрос AJAX, а затем получите данные следующим образом:

get_data_responseHandler: function(e) {
console.log(e.detail.response);
}

Так создается точка API.

0

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector