每个frontoffice只能查看其用户-PHP

每个frontoffice只能查看其用户-PHP,php,Php,我需要一些帮助 在我工作的网站上,我可以选择搜索用户,但是当我们搜索用户时,我们可以看到每个用户,而不管是frontoffice,我需要帮助每个用户只看到属于同一frontoffice的用户。我尝试了以下代码: if ($row->idFrontOfficeSinalizador == $idFrontOfficeSinalizador) 其中,$row->idFrontOfficeSinalizador是用户的frontoffice id,$idFrontOfficeSinalizad

我需要一些帮助

在我工作的网站上,我可以选择搜索用户,但是当我们搜索用户时,我们可以看到每个用户,而不管是frontoffice,我需要帮助每个用户只看到属于同一frontoffice的用户。我尝试了以下代码:

if ($row->idFrontOfficeSinalizador == $idFrontOfficeSinalizador)
其中,$row->idFrontOfficeSinalizador是用户的frontoffice id,$idFrontOfficeSinalizador是我的frontoffice id

这是我所有的代码

include('importarBibliotecas.php');

    if (!isset($_SESSION['id']) || $_SESSION['idTiposDePermissoes'] == 3 )
        echo "<script>window.location='index.php'</script>";
?>
<script src='scriptFormUtentes.js'></script>
<script>
    function makeDivVisible(){
        document.getElementById('encaminharUtentes').style.display='block';
    }
    function makeDivInvisible(){
        document.getElementById('encaminharUtentes').style.display='none';
    }
    function makeDivEdInvisible(){
        document.getElementById('editarEncaminharUtentes').style.display='none';
    }
</script>
<?php

include('menu.php');

include('gerirUtentesFormEditarUtente.php');

include('gerirUtentesFormEditarEncaminhamento.php');

include('gerirUtentesPOSTEditarUtente.php');

if (isset($_POST['NIFS']) || isset($_GET['n'])){ //pesquisar utentes por NIF
    include_once('DataAccess.php');
    $da = new DataAccess();
    if (isset($_POST['NIFS'])){
        $nif = $_POST['NIFS'];
        $nome = $_POST['Nome'];
        $idFrontOfficeSinalizador = $_POST['frontoffice'];
        $emailTecnico = $_POST['email'];
        $interesseProfissional = $_POST['interesseProfissional'];
        $escolaridade = $_POST['Escolaridade'];
        $situacaoEmprego = $_POST['situacaoEmprego'];
        $estado = $_POST['estado'];
        $res = $da->getUtentes($nif, $nome, $idFrontOfficeSinalizador, $emailTecnico, $interesseProfissional, $escolaridade, $situacaoEmprego, $estado);

        //PU = Pesquisa de Utentes
        $_SESSION['PU_nif'] = $nif;
        $_SESSION['PU_nome'] = $nome;
        $_SESSION['PU_idFrontOfficeSinalizador'] = $idFrontOfficeSinalizador;
        $_SESSION['PU_emailTecnico'] = $emailTecnico;
        $_SESSION['PU_interesseProfissional'] = $interesseProfissional;
        $_SESSION['PU_escolaridade'] = $escolaridade;
        $_SESSION['PU_situacaoEmprego'] = $situacaoEmprego;
        $_SESSION['PU_estado'] = $estado;

        $numPaginas = mysql_num_rows($res)/15;
        $numPaginas = ceil ($numPaginas);
        $_SESSION['PU_numPaginas'] = $numPaginas;

        $pagAtual = $_GET['pg'];
        $res = $da->getUtentesPorPagina($nif, $nome, $idFrontOfficeSinalizador, $emailTecnico, $interesseProfissional, $escolaridade, $situacaoEmprego, $estado, $pagAtual);
        //echo "<script>alert('".mysql_num_rows($res)." $numPaginas')</script>";
    }else{
        $nif = $_GET['n'];
        $res = $da->getUtenteNIF($nif);
    }
}else{ 

    if (isset($_GET['pg'])){
        $nif = $_SESSION['PU_nif'];
        $_POST['NIF'] = $nif;
        $nome = $_SESSION['PU_nome'];
        $_POST['Nome'] = $nome;
        $idFrontOfficeSinalizador = $_SESSION['PU_idFrontOfficeSinalizador'];
        $_POST['frontoffice'] = $idFrontOfficeSinalizador;
        $emailTecnico = $_SESSION['PU_emailTecnico'];
        $_POST['email'] = $emailTecnico;
        $interesseProfissional = $_SESSION['PU_interesseProfissional'];
        $_POST['interesseProfissional'] = $interesseProfissional;
        $escolaridade = $_SESSION['PU_escolaridade'];
        $_POST['Escolaridade'] = $escolaridade;
        $situacaoEmprego = $_SESSION['PU_situacaoEmprego'];
        $_POST['situacaoEmprego'] = $situacaoEmprego;
        $estado = $_SESSION['PU_estado'];
        $_POST['estado'] = $estado;
        $res = $da->getUtentesPorPagina($nif, $nome, $idFrontOfficeSinalizador, $emailTecnico, $interesseProfissional, 
                $escolaridade, $situacaoEmprego, $estado, $_GET['pg']);
        if ( mysql_num_rows($res) == 0){ //se a página não devolver resultados, mostra a primeira página
            echo "<script>window.location='gerirUtentes.php?pg=1'</script>";
        }
    }

    //pesquisar utente depois de clicar em Encaminhar
    if (isset($_GET['f'])){
        include_once('DataAccess.php');
        $da = new DataAccess();
        $res = $da->getUtente($_GET['f']);
    }

    //inserir encaminhamento
    if (isset($_POST['buttonInserirEncaminhamentoUtente'])){
        $idUtente = $_POST['idUtente'];
        $idTecnico = $_POST['idTecnico'];
        $data = $_POST['data'];
        $texto = $_POST['observacoes'];
        include_once('DataAccess.php');
        $da = new DataAccess();
        $da->inserirEncaminhamento($data, $texto, $idTecnico, $idUtente);
        echo "<script>alert('Diligência inserida com sucesso')</script>";
    }else{
        //editar encaminhamento
        if (isset($_POST['buttonEditarEncaminhamento'])){
            $id = $_POST['id'];
            $idUtente = $_POST['edit_idUtente'];
            $idTecnico = $_POST['edit_idTecnico'];
            $data = $_POST['edit_data'];
            $texto = $_POST['edit_observacoes'];
            include_once('DataAccess.php');
            $da = new DataAccess();
            $da->editarEncaminhamento($id, $data, $texto, $idTecnico, $idUtente);
            echo "<script>alert('Diligência editada com sucesso')</script>";
        }
    }
}

include('gerirUtentesFormPesquisa.php');

if (isset($_POST['NIFS']) || isset($_GET['f']) || isset($_GET['n'])){   
    echo "<div class='ink-grid'>
            <table style='width:100%' class='ink-table'>
                <thead>
                <tr>
                    <th style='width:25%' align='left'>Nome</th>
                    <th style='width:15%' align='left'>Pedido Inicial</th>
                    <th style='width:10%' align='left'>Situação</th>
                    <th style='width:15%' align='left'>Habilitações</th>
                    <th style='width:20%' align='left'>Interesse Profissional</th>
                    <th style='width:10%' align='left'>FrontOffice</th>
                    <th style='width:15%'></th>
                </tr>
                </thead>
                <tbody>";   
    $numPaginas = $_SESSION['PU_numPaginas'];

    if ($numPaginas > 1){
        $next = $_GET['pg'] + 1;
        if ($next == $numPaginas)
            $next = 1;

        if ($_GET['pg'] == 1)
            $before = $numPaginas;
        else
            $before = $_GET['pg']-1;

        echo "<tr>
            <td><a href='gerirUtentes.php?pg=$before' class='button'>Pág. Anterior</a></td>
            <td colspan='4'>&nbsp;</td>
            <td  align='right'><a href='gerirUtentes.php?pg=$next' class='button'>Pág. Seguinte</a></td>
          </tr>";
    }
    while($row = mysql_fetch_object($res)){         
        if ($row->interesseProfissional1 != -1)
            $nomeIP = $da->getInteresseProfissional($row->interesseProfissional1);          
        else
            $nomeIP = "---";

        if ($row->idFrontOfficeSinalizador != -1)
            $nomeFO = $da->getFrontOfficeName($row->idFrontOfficeSinalizador);
        else
            $nomeFO = "---";

        if ($row->idHabilitacoes != -1)
            $Habilitacao = $da->getHabilitacao($row->idHabilitacoes);           
        else
            $Habilitacao = "---";

        $situacaoProfissional="";
        switch ($row->empregado){
            case 1: $situacaoProfissional = "Empregado";
            break;
            case 0: $situacaoProfissional = "Desempregado";
            break;  
        }

        if ($row->Estudante == 1){
            if ($situacaoProfissional != "") $situacaoProfissional .= ", ";
            $situacaoProfissional .= "Estudante";
        }

        if ($row->outraSituacao == 1){
            if ($situacaoProfissional != "") $situacaoProfissional .= ", ";
            $situacaoProfissional .= "Outra Situação";
        }

        if($situacaoProfissional == "") $situacaoProfissional="---";

        $pedidoInicial = "";
        if($row->pedidoInicialEmprego == 1)
            $pedidoInicial = "Emprego";
        if($row->pedidoInicialFormacao == 1){
            if ($pedidoInicial != "")
                $pedidoInicial .= ", Formação";
            else
                $pedidoInicial = "Formação";
        }
        if($row->pedidoInicialOutra == 1){
            if ($pedidoInicial != "")
                $pedidoInicial .= ", Outra";
            else
                $pedidoInicial = "Outra";
        }

        echo "<tr>
                <td>
                    <a href='gerirUtentes.php?i=$row->a&f=$row->a' title='Detalhes do utente'><img src='img/info.png' style='width:25px'/> 
                        <font color='black'>$row->nome</font>
                    </a>
                </td>
                <td>$pedidoInicial</td>
                <td>$situacaoProfissional</td>
                <td>$Habilitacao</td>
                <td>$nomeIP</td>
                <td>$nomeFO</td>
                <td align='right'>


                    ";
                    if ($row->Email != "")
                        echo "<a href='enviarEmail.php?i=$row->id' target='_blank'><img title='Enviar E-mail para utente' src='img/mail.png' style='width:20px'/></a>&nbsp;";
                    $numEncaminhamentos = $da->getNumEncaminhamentos($row->a);
                    if ($numEncaminhamentos >0)
                        echo "<a href='gerirUtentes.php?f=$row->a' style='text-decoration: none;'>
                                <img title='Diligências efetuadas' src='img/forward.png' style='width:20px'/>
                                <font size='1'>$numEncaminhamentos</font>                               
                              </a>";
                    else
                        echo "<a href='gerirUtentes.php?f=$row->a'>
                                <img title='Diligências efetuadas' src='img/forward.png' style='width:20px'/>
                              </a>
                    <br/>";
                    if ($row->CV != "")
                        echo "<a href='CVs/$row->CV' target='_blank'><img title='Download do CV' src='img/cv.png' style='width:20px'/></a>&nbsp;";

                    //download informações para pdf 

                    echo "<a href='PDF.php?i=$row->a' target='_blank'>
                                <img title='Download das informações pessoais' src='img/pdf.png' style='width:24px'/>
                        </a>";

                echo "
                    <a href='gerirUtentes.php?d=$row->a' onclick='return confirmarApagarUtente()'><img title='Apagar utente' src='img/delete3.png' style='width:20px'/></a>                 
                </td>
            </tr>";
    }
    if ($numPaginas > 1){
    echo "<tr>
            <td><a href='gerirUtentes.php?pg=$before' class='button'>Pág. Anterior</a></td>
            <td colspan='4'>&nbsp;</td>
            <td align='right'><a href='gerirUtentes.php?pg=$next' class='button'>Pág. Seguinte</a></td>
          </tr>";

    }
    echo "</tbody>
          </table>
        </div>";
} 

if (isset($_GET['d'])) {
    include_once('DataAccess.php');
    $da = new DataAccess();
    $da -> deleteUtente($_GET['d']);

    echo"
    <script>alert('Utente eliminado com sucesso.');</script>";
}

include('gerirUtentesResultadosEncaminhamento.php');

if(isset($_GET['i'])){
    include_once('DataAccess.php');
    $da = new DataAccess();
    $res = $da->getUtente($_GET['i']);      
    //ver campos do utente!!
    verFormEditarUtente();
}

include('footer.php');
?>

    </body>
</html>

无论您的查询是什么,都要为in WHERE子句添加一个新条件


如果它们是一样的,那又怎样?请添加更多的实际代码为什么不在mysql查询中指定它,而不是获取所有内容?我们可以查看您的查询吗?如果您愿意,我可以将我的所有dataaccess都放在
function getUtentes($nif, $nome, $idFrontOfficeSinalizador, $emailTecnico, $interesseProfissional, $Escolaridade, $situacaoEmprego,$estado){
    $this->connect();
    $idTecnico = -1;
    if ($emailTecnico != "")
    {

        $query = "select id from tecnicos where email = '$emailTecnico'";

        $res = $this->execute($query); 
        if (mysql_num_rows($res)>0){
            $row = mysql_fetch_array($res);
            $idTecnico = $row[0];
        }
    }

    $query = "select *, U.id as a from utentes U where estado=$estado ";

    if ($nome != "")
        $query .= " and nome like '%$nome%' ";
    if ($idFrontOfficeSinalizador != "" && $idFrontOfficeSinalizador != "-1")
        $query .= " and idFrontOfficeSinalizador = $idFrontOfficeSinalizador ";
    if ($nif != "")
        $query .= " and NIF = $nif ";

    if ($interesseProfissional != -1 && $interesseProfissional != "")
        $query .= " and (interesseProfissional1 = $interesseProfissional or interesseProfissional2 = $interesseProfissional or interesseProfissional3 = $interesseProfissional) ";
    if ($Escolaridade != -1 && $Escolaridade != "")
        $query .= " and idHabilitacoes = $Escolaridade ";

    switch ($situacaoEmprego)
    {
        case 1:
        $query .= " and empregado = 1";
        break;
        case 2: 
        $query .= " and empregado =  0";
        break;
        case 3: 
        $query .= " and Estudante = 1";
        break;
        case 4:
        $query .= " and outraSituacao = 1";
        break;
        default:
        break;
    }
    if ($idTecnico != -1)
        $query .= " and idTecnico = $idTecnico ";

    $query .= " order by U.nome asc ";
    //echo $query;
    $res = $this->execute($query); 
    $this->disconnect();
    return $res;
}

    function getUtentesPorPagina($nif, $nome, $idFrontOfficeSinalizador, $emailTecnico, $interesseProfissional, $Escolaridade, 
                                        $situacaoEmprego,$estado, $pagina){
            $this->connect();
            $idTecnico = -1;
            if ($emailTecnico != "")
            {

                $query = "select id from tecnicos where email = '$emailTecnico'";

                $res = $this->execute($query); 
                if (mysql_num_rows($res)>0){
                    $row = mysql_fetch_array($res);
                    $idTecnico = $row[0];
                }
            }

            $query = "select *, U.id as a from utentes U where estado=$estado ";

            if ($nome != "")
                $query .= " and nome like '%$nome%' ";
            if ($idFrontOfficeSinalizador != "" && $idFrontOfficeSinalizador != "-1")
                $query .= " and idFrontOfficeSinalizador = $idFrontOfficeSinalizador ";
            if ($nif != "")
                $query .= " and NIF = $nif ";

            if ($interesseProfissional != -1 && $interesseProfissional != "")
                $query .= " and (interesseProfissional1 = $interesseProfissional or interesseProfissional2 = $interesseProfissional or interesseProfissional3 = $interesseProfissional) ";
            if ($Escolaridade != -1 && $Escolaridade != "")
                $query .= " and idHabilitacoes = $Escolaridade ";

            switch ($situacaoEmprego)
            {
                case 1:
                $query .= " and empregado = 1";
                break;
                case 2: 
                $query .= " and empregado =  0";
                break;
                case 3: 
                $query .= " and Estudante = 1";
                break;
                case 4:
                $query .= " and outraSituacao = 1";
                break;
                default:
                break;
            }
            if ($idTecnico != -1)
                $query .= " and idTecnico = $idTecnico ";

            $query .= " order by U.nome asc ";
            $queryAux = $query;

            $pagina = ($pagina-1) * 15;
            $query .= " limit  $pagina, 15 ";

            $res = $this->execute($query); 
            /*
            if ( mysql_num_rows($res) == 0){ //se a página não devolver resultados, mostra a primeira página
                $pagina = 0;
                $queryAux .= " limit  $pagina, 15 ";
                $res = $this->execute($queryAux); 
            }*/

            $this->disconnect();
            return $res;
        }

        function getUtenteNIF($nif){
            $query = "select *, U.id as a from utentes U 
                        where U.NIF = $nif";
            $this->connect();
            $res = $this->execute($query); 
            $this->disconnect();
            return $res;
        }
 AND idFrontOfficeSinalizador = 4   // use correct variable here