PHP:让你自己的函数使用 while 循环 [英] PHP: letting your own function work with a while loop

查看:26
本文介绍了PHP:让你自己的函数使用 while 循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

$qVraagGroepenOp = "SELECT * FROM $tabele WHERE $where";$rVraagGroepenOp = mysql_query ( $qVraagGroepenOp );$aVraagGroepenOp = mysql_fetch_assoc ( $rVraagGroepenOp )

$qVraagGroepenOp = "SELECT * FROM $tabele WHERE $where"; $rVraagGroepenOp = mysql_query ( $qVraagGroepenOp ); $aVraagGroepenOp = mysql_fetch_assoc ( $rVraagGroepenOp )

然后我把它转换成一个函数

and I converted that to a function

vraagOp("testtable","testtable_ID = $id");

function vraagOp($table,$where)
{
    $qVraagOp = "SELECT * FROM $table WHERE $where";
    $rVraagOp = mysql_query( $qVraagOp );
    $aVraagOp = mysql_fetch_assoc( $rVraagOp );

    return $aVraagOp;
}

唯一的问题是当我需要多于一行时,我需要使用 while 循环

only the problem is when i need more then one row i need to use a while loop

$qVraagGroepenOp = "SELECT * FROM testtable where testtype = test";
$rVraagGroepenOp = mysql_query ( $qVraagGroepenOp );
while ( $aVraagGroepenOp = mysql_fetch_assoc ( $rVraagGroepenOp ) ) 
{
     echo "testing <br>";
}

它不会再工作了 有什么技巧可以让我的函数在这个 while 循环中工作吗?

It wont work anymore is there a trick to make my function work with this while loop?

行不通,但我想达到类似的目的

This won't work but I want to reach to something like it

while (vraagOp("testtable","testtype = test")) 
{
   echo "testing <br>";
}

这可能吗?

推荐答案

这可以通过函数作用域中的静态变量来完成.

This could be done with static variables in the function scope.

function vraagOp($table,$where)
{
    static $rVraagOp;
    if(!$rVraagOp){
        $qVraagOp = "SELECT * FROM $table WHERE $where";
        $rVraagOp = mysql_query( $qVraagOp );
    }
    return mysql_fetch_assoc( $rVraagOp );
}

这应该可以满足您的需求.

That should do what you're after.

这篇关于PHP:让你自己的函数使用 while 循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆