首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的数据库更新不能在没有刷新的情况下加载

问为什么我的数据库更新不能在没有刷新的情况下加载
EN

Stack Overflow用户
提问于 2014-04-25 02:38:20
回答 1查看 158关注 0票数 1

我通过php在MySQL上使用angular。当我尝试添加到数据库时,它会添加,但我必须单击浏览器上的刷新才能看到结果。

我觉得这是angular的真正好处,但我对angular和MySQL也是非常陌生的,所以我真的不知道我错在哪里,也不知道如何让它正确工作。这似乎是我所有的数据库调用。

为了清楚起见,我在上面的页面上使用了bootstrap、angular和jquery,并使用了ng-include。

感谢所有能为我指明正确方向的人。

-html

代码语言:javascript
复制
<div class="widget-box" id="recent-box" ng-controller="ideasController">
    <div class="widget-header header-color-blue">
        <div class="row">
            <div class="col-sm-6">
                <h4 class="bigger lighter"><i class="glyphicon glyphicon-align-justify"></i>&nbsp;Idea MANAGER</h4>
            </div>
        </div>
    </div>
    <div class="widget-body ">
        <form id="newIdeaForm" class="add-idea">
        <div class="form-actions">
        <div class="input-group">
            <input type="text" class="form-control" name="comment" ng-model="ideaInput" placeholder="Add New Idea" >
        <div class="input-group-btn">
            <button class="btn btn-default" type="submit" ng-click="addIdea(ideaInput)"><i class="glyphicon glyphicon-plus"></i>&nbsp;Add New Idea</button>
        </div>
        </div>
        </div>
        </form>


        <div class="idea">
            <div style="width: 80%; margin-left:auto; margin-right:auto;">
                <table class="table table-hover"> 
                    <tbody> 
                        <tr ng-repeat="idea in ideas | orderBy:'idea'"> 
                            <td>{{idea.IDEA}} <a ng-click="deleteIdea(idea.ID)" style="float:right;"><button class="btn btn">Delete</button></a></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

-php

代码语言:javascript
复制
//addIdea.php

    <?php 
    require_once 'db.php'; // The mysql database connection script
    if(isset($_GET['idea'])){
    $task = $_GET['idea'];
    $status = "0";
    $created = time();
    $query=mysql_query("INSERT INTO ideas(idea,status,created_at)  VALUES ('$idea', '$status', '$created')") or die(mysql_error());
    }
    ?>

//getIdea.php

    <?php 
    require_once 'db.php'; // The mysql database connection script
    $status = '%';
    if(isset($_GET['status'])){
    $status = $_GET['status'];
    }
    $query=mysql_query("select ID, IDEA, STATUS from ideas where status like '$status' order by status,id desc") or die(mysql_error());

    # Collect the results
    while($obj = mysql_fetch_object($query)) {
        $arr[] = $obj;
    }

    # JSON-encode the response
    echo $json_response = json_encode($arr);
    ?>

-js

代码语言:javascript
复制
//Define an angular module for our app
var app = angular.module('myApp', []);

app.controller('ideasController', function($scope, $http) {
  getIdea(); // Load all available ideas 
  function getIdea(){  
  $http.get("ajax/getIdea.php").success(function(data){
        $scope.ideas = data;
       });
  };
  $scope.addIdea = function (idea) {
    $http.get("ajax/addIdea.php?idea="+idea).success(function(data){
        getIdea();
        $scope.ideaInput = "";
      });
  };
EN

回答 1

Stack Overflow用户

发布于 2014-04-25 02:49:09

您需要刷新页面或页面的部分,才能从数据库中提取新信息。您可以通过addIdea.php使用header重新加载页面。

代码语言:javascript
复制
   header('Location: thispage.html');

您可以在INSERT之后重新加载页面,新数据将出现在表中。

代码语言:javascript
复制
    <?php 
    require_once 'db.php'; // The mysql database connection script
    if(isset($_GET['idea'])){
    $task = $_GET['idea'];
    $status = "0";
    $created = time();
    $query=mysql_query("INSERT INTO ideas(idea,status,created_at)  VALUES ('$idea', '$status', '$created')") or die(mysql_error());
    }
      header('Location: idea.html');
    ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23277126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档