使用Angularjs和PHP的id添加对特定帖子的评论

时间:2016-03-15 20:42:41

标签: php angularjs

我是Angular的新手,我正在努力为从数据库中显示的特定帖子添加评论。 在帖子下面,我有一个隐藏的评论区域,按下按钮时显示。 然后,我希望能够将评论添加到评论区域附加的帖子中。 好像它没有得到id,但我找不到如何解决它。 它正在显示/隐藏,我在控制台日志中输入“数据”,所以我猜测问题出在PHP上?

角度代码

app.controller('meetings', function($scope, $http) {
$scope.meetings_insertdata = function() {
$http.post ("meetings_insert.php",{'meetings_commentdate':$scope.meetings_commentdate,'meetings_comment':$scope.meetings_comment})
window.location.reload();
console.log("data inserted");
    };
});



app.controller('show_hide', function ($scope) {
            $scope.Hidden = true;
            $scope.ShowHide = function () {
                $scope.Hidden = $scope.Hidden ? false : true;
            }

   });

meetings_insert.php

<?php

$data = json_decode(file_get_contents("php://input"));
$meetings_comment = $data->meetings_comment;
$meetings_commentdate = date('Y-m-d H:i:s');
$meetings_entry = $_GET['id'];

mysql_connect("localhost","user","password");
mysql_select_db("mdb_rh316");



mysql_query("UPDATE project_meetings SET (meetings_comment, meetings_commentdate) = ('$meetings_comment','$meetings_commentdate') WHERE meetings_entry = '$meetings_entry'");

?>

HTML代码

<div class="entrybox" ng-controller="meetings">
<?php 
mysql_connect("localhost","user","password");
mysql_select_db("mdb_rh316");

$result = mysql_query("SELECT * FROM project_meetings ORDER BY meetings_date DESC");
while ($row = mysql_fetch_array($result))
{
echo "<table>";
        echo "<tr><td>" ?>Added: <? echo $row['meetings_date'] . $row['meetings_entry'] . "<br/>" . $row['meetings_content']."</td></tr>";
        echo "<tr><td>" ?><br/><span class="emp">Comment: <?
        echo $row['meetings_commentdate']."<br/>" . $row['meetings_comment']."</td></tr>";
        echo "<tr><td>"?></span>
        <div ng-controller="show_hide">
        <input type="button" class="previous_add" value="Add comment" ng-click="ShowHide()" />
        <br />
        <br />
        <div ng-hide = "Hidden">
<form method="post" action="meetings_insert.php?id=<? echo $row['$meetings_entry']?>"> 
<textarea class="textarea" placeholder="Add your comment here.." type="text" ng-model="meetings_comment" name="meetings_comment"></textarea><br/>
<input type="button" class="button" value= "Add" ng-click="meetings_insertdata()"/>
</form>
        </div>
    </div>
</td></tr><br/><?;

}

echo "</table>";
?>
</div>

1 个答案:

答案 0 :(得分:0)

Pass&#39; id&#39;进入meetings_insertdata函数:

&#13;
&#13;
<form method="post" action="">
  <textarea class="textarea" placeholder="Add your comment here.." type="text" ng-model="meetings_comment" name="meetings_comment"></textarea>
  <br/>
  <input type="button" class="button" value="Add" ng-click="meetings_insertdata(<? echo $row['$meetings_entry']?>)" />
</form>
&#13;
&#13;
&#13;

在下面的AngularJS函数中接收它:

&#13;
&#13;
app.controller('meetings', function($scope, $http) {
  $scope.meetings_insertdata = function(id) {
    $http.post("meetings_insert.php", {
      'meetings_commentdate': $scope.meetings_commentdate,
      'meetings_comment': $scope.meetings_comment,
      'meetings_event': id
    })
    window.location.reload();
    console.log("data inserted");
  };
});
&#13;
&#13;
&#13;

然后,选择&#39; id&#39;来自发布的值($ data-&gt; meetings_event)

$ data = json_decode(file_get_contents(&#34; php:// input&#34;));

$ meetings_comment = $ data-&gt; meetings_comment;
$ meetings_commentdate = date(&#39; Y-m-d H:i:s&#39;);
$ meetings_entry = $ data-&gt; meetings_event;