计算表中的所有记录

时间:2014-06-28 14:33:56

标签: symfony-1.4

我需要计算单个表中的所有记录,所以..在我的行动中

public function executeTesting(sfWebrequest $r) 
{
$this->applicants = Doctrine_core::getTable('Applicants')->count();
$this->setLayout(false);
}

我可以在模板中显示记录 testingSucess.php

 <?php echo $applicants ?>//returns number of records example 890

但我想让它显示在另一个模板中。让我说我想嵌入&#39;到另一个模板(failureSuccess.php)。任何建议?

2 个答案:

答案 0 :(得分:0)

知道了......只需删除操作并创建一个帮助器,所以在我的lib / helper / TotalHelper.php中

<?php

 function getTotal() {
$applicants = Doctrine_core::getTable('Applicants')->count();

    return $applicants;
}

和模板(failureSuccess.php)

<?php use_helper('Total') ?>
<?php echo getTotal() ?>

太方便..

答案 1 :(得分:0)

您可以考虑使用AJAX调用,并对代码进行一些更改,以避免使用模板 因此,让我们将您的行动改为:

class miscActions extends sfActions
{
  public function executeTotal(sfWebRequest $request)
  {
    $total = Doctrine::getTable('Utenti')->findAll()->count();

    return $this->renderText(json_encode(array('total' => $total)));
  }
}

现在您可以使用例如jQuery:

在模板中检索该值
<script type="text/javascript">

  $.ajax({
    url: '<?php echo url_for("misc/total") ?>',
    dataType: 'json',
    success: function(data){
      console.log(JSON.stringify(data));
      console.log("Total: " + data.total);

      // And if you want to update a div content
      $("#responsecontainer").html(data.total);
    }
  });

</script>