1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Percorrer query SQL e guardar valores array PHP

Discussão em 'Web Development' iniciada por ThinkBrunus, 12 de Junho de 2009. (Respostas: 1; Visualizações: 4550)

  1. ThinkBrunus

    ThinkBrunus Power Member

    Viva!
    Estou a tentar aperfeiçoar o sistema autenticação já desenvolvido, e nesta fase pretendo que quando um utilizador se autentique sejam guardados os valores referentes aos níveis de permissão. Para começar utilizei a seguinte query:
    <div class="codetop">
    PHP:
    $query "SELECT nome,password,id_nivelacesso
    FROM detalhe,nivelacesso_detalhe
    WHERE nome='" 
    $username "' AND password='" $password "'
    AND nivelacesso_detalhe.id_detalhe=detalhe.id_detalhe"
    ;
    $sql mysql_query($query) or die('Query failed: ' mysql_error());
    E de seguida optei por saber quantas linhas foram retornadas, e num if optar por um procedimento se tiver mais que 1 tipo de permissões, caso contrário efectua o procedimento norma:
    <div class="codetop">
    PHP:
    $numfields mysql_num_rows($sql);
    while (
    $result mysql_fetch_object($sql)) {
            if (
    $result->nome == true){
                    
    session_start();
                    if (
    $numfields 1)        {
                            
    $teste = array($numfields);
                            for(
    $i=0;i<$numfields;$i++){
                                    
    $teste[$i] = $result -> id_nivelacesso;
                            }
                    
    /*
                            $niveis_acesso = array($numfields);
                            while ($result = mysql_fetch_array($sql)){
                                    for($i=0;$i<$numfields;$i++){
                                        $teste[$i] = $result->id_nivelacesso;
                                    }
                            }
                    */               
                    
    $_SESSION['username'] = $result -> nome;
                    
    $_SESSION['dominio'] = false;
                    
    $_SESSION['session_time'] = time();
                    
    $_SESSION['teste'] = $teste;
                    
    session_write_close();
                    echo 
    $_SESSION['username'];
            } else {
                    
    $_SESSION['username'] = $result -> nome;
                    
    $_SESSION['dominio'] = false;
                    
    $_SESSION['session_time'] = time();
                    
    $_SESSION['nivel_acesso'] = $result -> id_nivelacesso;
                    
    session_write_close();
                    echo 
    $_SESSION['username'];
            }
    } else {
            echo 
    "0";
    }
    }

            } else {
                    echo 
    "0";
            }
    A minha dificuldade está em perceber como vou percorrer o os valores da query e armazenar numa variável os valores das permissões, para que futuramente possa utilizar de forma a permitir o acesso a determinas áreas do site.

    Agradeço uma ajudinha para clarificar o meu raciocínio.
     
  2. ThinkBrunus

    ThinkBrunus Power Member

    Julgo já ter conseguido, coloquei assim:

    Código:
            while ($result = mysql_fetch_object($sql)) {
                if ($result->nome == true){
                    session_start();                
                    if ($numfields > 1)    {
                        $teste = array();
                        for($i=-1; $i <= $numfields; $i++){
                            $teste[$i] = mysql_result($sql,$i,"id_nivelacesso");
                        }
    
                        $_SESSION['username'] = $result -> nome;
                        $_SESSION['dominio'] = false;
                        $_SESSION['session_time'] = time();
                        $_SESSION['teste'] = $teste;
                        session_write_close();
                        echo $_SESSION['username'];
                    } else {
    ...
    ...
    
    
     
    Última edição: 12 de Junho de 2009

Partilhar esta Página