2017-12-14 10 views
0

MAMPを使用してlocalhost上のいくつかのポリマー要素プロパティをMySQLデータベースと同期させようとしています。PDOを使用したMySQLテーブルデータへのポリマーデータバインド

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関数

として、JSONをエコー(返さない)必要がありget_data.php:ここにドキュメントのように

handle-as="json" 

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

と鉄AJAXは、JSONを受信するように設定する必要があります

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

ポリマー中の0

は、第AJAX要求を実行し、このようなデータを受信:

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

APIポイントが作成される方法です。

関連する問題