Maison >développement back-end >tutoriel php >php模型里调用函数和直接调用还有区别么?

php模型里调用函数和直接调用还有区别么?

WBOY
WBOYoriginal
2016-06-06 20:11:531027parcourir

<code><?php class newsModel{
    function count(){
        $sql = "SELECT * FROM admin";
        $result = mysql_query($sql);
    return $num=mysql_num_rows($result);
    }
}</code></code>

先是这了一个count函数,想返回数据库条数的。直接调用这个函数的时候返回正确值。

<code>    function index(){
        $newsobj=M('news');
        $newsnum=$newsobj->count();
        //print_r ($newsnum);
        VIEW::assign(array('newsnum'=>$newsnum));
        VIEW::display('admin/index.html');
    }</code>

但如果这样调用就全是0了。为什么呐? 这两种方法有什么区别吗?
如果在模型里调用那该怎么写呢?

回复内容:

<code><?php class newsModel{
    function count(){
        $sql = "SELECT * FROM admin";
        $result = mysql_query($sql);
    return $num=mysql_num_rows($result);
    }
}</code></code>

先是这了一个count函数,想返回数据库条数的。直接调用这个函数的时候返回正确值。

<code>    function index(){
        $newsobj=M('news');
        $newsnum=$newsobj->count();
        //print_r ($newsnum);
        VIEW::assign(array('newsnum'=>$newsnum));
        VIEW::display('admin/index.html');
    }</code>

但如果这样调用就全是0了。为什么呐? 这两种方法有什么区别吗?
如果在模型里调用那该怎么写呢?

M 函数的 mode 必须 实现extends Model

count 已经在 Model 中实现了,没必要在写一边,如果非要自己实现可以用

return $this->count(); 来返回

题主可以先去了解下M方法跟D方法的区别,还有熟悉下tp框架的连贯操作有哪些。避免重复定义方法。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn