2016-08-31 2 views
0

ng-clickでAngularJSを使用してPHPファイルにデータを送信しています。私は2つのボタンがあり、私はスイッチケースを使用してデータベースに挿入するために同じPHPファイルに送信しようとしているが、データベースを更新していません。PHPスイッチケース+ PDOアップデートDB

私のPHPを修正するにはどうすればよいですか?

<?php 

    include_once('conn.php'); 

    $data = json_decode(file_get_contents("php://input")); 

    switch($data){ 

    case 'getvou':  
    $vou = $data->getvou; 
    $sql = $mysqli->query("UPDATE audiencia SET vou = '".$vou."'"); 
    $mysqli->close(); 
    break; 

    case 'getnaovou': 
    $naovou = $data->getnaovou; 
    $sql = $mysqli->query("UPDATE audiencia SET nao_vou = '".$naovou."'"); 
    $mysqli->close(); 
    break; 
    } 

?> 

insert.php script.js

$scope.add_vou = function(){ 

    $scope.vou += 1; 

    $http.post("http://localhost/insert-audiencia.php", {'getvou': $scope.vou}).then(function(resp){ 
     console.log(JSON.stringify(resp)); 
     console.log(resp); 
    }); 
} 

$scope.add_nao_vou = function(){ 

    $scope.nao_vou += 1; 

    $http.post("http://localhost/insert-audiencia.php", {'getnaovou': $scope.nao_vou}).then(function(resp){ 
     console.log(JSON.stringify(resp)); 
     console.log(resp); 
    }); 
} 

答えて

1

$dataはそう何caseあなたswitchにマッチしません、これらの文字列のいずれかと等しくありませんJSONオブジェクトになります。

現在データを送信している方法で、代わりにJSONオブジェクトにプロパティがあるかどうかを確認する必要があります。

if (property_exists($data, 'getvou')) { 
    // one query 
} elseif (property_exists($data, 'getnaovou')) { 
    // other query 
} 

isset($data->getvou)などもこれに対応します。

+0

ああ、ありがとう!どうもありがとう –