“循环输出PermissionID,并把PermissionID的所有值都写入一个数组”
不太理解你的意思。第一种理解是,如果你是想把数据写入一个叫PermissionID的数组内,可以这样
$PermissionID[] = $result->fields[1];第二种理解是,打印PermissionID,然后斌值到一个变量中,可以这样
$PermissionID = $result->fields[1];
echo $PermissionID;
$array[] = $PermissionID;至于你说要判断数组中是否包括该值,可用in_array()函数,详情参见
http://cn.php.net/manual/zh/function.in-array.php

解决方案 »

  1.   

    <?
    $PermissionIDArray=array();
    $sql = "select * from rolepermission where RoleID='$RoleID'";
    $result = $dbsql1->Execute($sql);
    while (!$result->EOF){
    $RoleID = $result->fields[0];
    $PermissionID = $result->fields[1];
    echo $PermissionID;
    $PermissionIDArray=$PermissionID;
    $result->MoveNext();
    }
    if (is_array($PermissionIDArray))
    echo "true";
    else
    echo "false";
    ?>
      

  2.   

    我的意思是RoleID和PermissionID是一对多的关系,即一个RoleID对应多个PermissionID.程序通过循环读取数据库中RoleID='$RoleID'对应的所有PermissionID.并把结果保存到一个数组中.在后面要进行判断.比如查找数组中是不是包含有"503"这个数据.有的话就执行另外一段程序.没有就不执行.
      

  3.   

    <?
    $sql = "select * from rolepermission where RoleID='$RoleID'";
    $result = $db->Execute($sql);
    while (!$result->EOF){
    $RoleID = $result->fields[0];
    $PermissionID = $result->fields[1];
    echo $PermissionID;
    $PermissionIDArray[]=$PermissionID;
    $result->MoveNext();

    if( in_array(503,$PermissionIDArray) )
    {
    echo "yes";
    }
    else
    {
    echo "NO";
    }?>