繁体   English   中英

将所有这些查询更改为面向部门所需的帮助

[英]Help needed in changing these all Queries to dept oriented

我越来越像这样

$deptid=$_SESSION['deptid'];

public function setSkillMatrix($data)
    {
        //return print_r($data,true);
        //$ot="";
        $deptid=$_SESSION['deptid'];
        if(!$data || !is_array($data)|| !sizeof($data)){throw new Exception("No data sent.".(is_object($data)?"y":"n"));}

        //throw new Exception(print_r($data,true));
        $effectedRows=0;
        $skills=$this->getSkills();
        array_shift($data);//get rid of the first row
        foreach($data as $row)
        {
            $userid=mysql_real_escape_string($row[0]);
            if(SHOW_VERTICAL){
                array_splice($row,0,4);
            }else{
                array_splice($row,0,3);
            }
            for($i=0;$i<sizeof($row);$i++)
            {
                if($row[$i]==""||$row[$i]=="Not Set")$row[$i]="NULL";
                else $row[$i]="'".mysql_real_escape_string($row[$i])."'";
                if($skills[$i]['isBranch']=="true")continue;
                $skillid=$skills[$i]['id'];
                $sql="SELECT * FROM `user_ratings` WHERE userid='{$userid}' AND skillid='{$skillid}' LIMIT 1";
                $result=mysql_query($sql);
                if(!$result){throw new Exception(mysql_error());}
                if(!mysql_num_rows($result))
                {
                    $sql="INSERT INTO `user_ratings` (userid,skillid,rating) VALUES('{$userid}','{$skillid}',NULL";
                    $result=mysql_query($sql);
                    if(!$result){throw new Exception(mysql_error());}
                }
                $sql="UPDATE `user_ratings` SET rating={$row[$i]} WHERE userid='{$userid}' AND skillid='{$skillid}";
                $result=mysql_query($sql);
                if(!$result){throw new Exception(mysql_error());}
                $effectedRows+=mysql_affected_rows();
                //if(mysql_affected_rows()){$ot.=$sql;}
            }
            //echo $userid." => ".implode(',',$row).'<br>';
        }
        if($effectedRows==0)
        {
            return "Database successfully updated although no changes were detected.";
        }else{
            return "Database successfully updated.";//.$effectedRows.$ot;
        }

    }//function

我需要将查询更改为部门...,以便我可以更新特定部门的值...

PHP代码太可怕了,无法为您的问题提供任何相关信息。

我们将需要查看您的数据架构。

我希望您需要重新编写每个SELECT语句(假设当前已正确捕获和存储'deptid')

C。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM