v1_users atualizada
SELECT users.id AS idUser, idPessoa, username, privilegios.id AS idPrivilegio, nome, apelido, privilegio, users.estado AS estadoUser, pessoas.estado AS estadoPessoa
FROM users, pessoas, privilegios
WHERE pessoas.id = users.idPessoa
AND users.idPrivilegio = privilegios.id
usersListar.php
<?php
//
require_once("ligacao.php");
require_once("restricao.php");
$sql="SELECT * FROM v1_users ORDER BY nome, apelido";
$query=mysqli_query($ligar, $sql);
$total=mysqli_num_rows($query);
// se houver registos é que faço o fetch
if($total>0){
// faço o fetch
$fetch=mysqli_fetch_assoc($query);
}
?>
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<title>Lista de utilizadores</title>
<?php require_once("css.php");?>
</head>
<body>
<div class="container">
<?php require_once("navBar.php");?>
<div class="jumbotron jumbotron-fluid">
<div class="container">
<h1 class="display-4">Lista de Utilizadores</h1>
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">#</th>
<th scope="col">Nome</th>
<th scope="col">Apelido</th>
<th scope="col">Username</th>
<th scope="col">Privilegio</th>
<th scope="col">Alterar</th>
</tr>
</thead>
<tbody>
<!--(inicio tabela) esta tr depende do fetch -->
<?php $i=0; do { $i++; ?>
<tr>
<th scope="row">
<?php echo $i ;?>
</th>
<td>
<?php echo $fetch['nome'];?>
</td>
<td>
<?php echo $fetch['apelido'];?>
</td>
<td>
<?php echo $fetch['username'];?>
</td>
<td>
<?php echo $fetch['privilegio'];?>
</td>
<td><a href="usersAlterar.php?filtrar&idUser=<?php echo $fetch['idUser'];?>">Alterar</a></td>
</tr>
<?php } while($fetch=mysqli_fetch_assoc($query));?>
<!-- (fim da tabela)-->
</tbody>
</table>
</div>
</div>
</div>
<?php require_once("scripts.php"); ?>
</body>
</html>
-------------------------------
usersAlterar.php
<?php
require_once("restricao.php");
if(isset($_GET['filtrar'])){//filtrar vem da página usersListar
$id=$_GET['idUser'];// refere-se ao utilizador que vai ser alterado. Diferente do utilizador que está a processar esta página fazendo a alteração.
$sql="SELECT * FROM v1_users WHERE idUser=$id";
require_once("ligacao.php");// só agora preciso da variável $ligar
$query=mysqli_query($ligar, $sql);
$total=mysqli_num_rows($query);
if($total>0){ // 99.99999 % de ser sempre verdade
$fetch=mysqli_fetch_assoc($query);
}
$sql="SELECT * FROM privilegios";
$queryPriv=mysqli_query($ligar, $sql);
$fetchPriv=mysqli_fetch_assoc($queryPriv);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Alterar Utilizador</title>
<?php require_once("css.php");?>
</head>
<body>
<div class="container">
<?php require_once("navBar.php");?>
<div class="jumbotron">
<h1 class="display-4">Formulário de alteração de dados do utilizador</h1>
<p class="lead">Note que nem todos os dados podem ser alterados</p>
<hr class="my-4">
<h3 class="display-5">Dados do utilizador:</h3>
<label>Username:</label>
<input type="text" class="form-control" value="<?php echo $fetch['username'];?>" readonly>
<label>Privilégio:</label>
<?php if($_SESSION['idPrivilegio']!=1){?>
<select class="form-control">
<option value="<?php echo $fetch['idPrivilegio'];?>"><?php echo $fetch['privilegio'];?></option>
</select>
<?php }?>
<?php if($_SESSION['idPrivilegio']==1){?>
<select class="form-control">
<option value="<?php echo $fetch['idPrivilegio'];?>"><?php echo $fetch['privilegio'];?></option>
<?php do {?>
<?php if($fetch['idPrivilegio']!=$fetchPriv['id']){?>
<option><?php echo $fetchPriv['privilegio'];?></option>
<?php }?>
<?php } while($fetchPriv=mysqli_fetch_assoc($queryPriv));?>
</select>
<?php }?>
<h3 class="display-5" style="margin-top:50px">Dados Pessoais:</h3>
<form>
<label>Nome:</label>
<input type="text" name="nome" class="form-control" value="<?php echo $fetch['nome'];?>">
<label>Apelido:</label>
<input type="text" name="apelido" class="form-control" value="<?php echo $fetch['apelido'];?>">
<hr class="my-4">
</form>
</div>
</div>
<?php require_once("scripts.php");?>
<!-- incluo os 3 ficheiros javascript que fazem parte da minha framework bootstrap -->
</body>
</html>
----------------
restricao.php
<?php
// restricao.php
if(!isset($_SESSION)){ // para não estar sempre a iniciar
session_start(); // para poder usar variáveis de sessão
$idUser=$_SESSION['idUser'];
}
if(!isset($_SESSION['username'])){
header("Location:login.php");
}
?>
---------------
navBar.php
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<!--<a class="navbar-brand" href="#">Menu</a>-->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="homepage.php">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Cursos</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="cursosCriar.php">Criar</a>
<a class="dropdown-item" href="cursosListar.php">Listar</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Graus</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="grausCriar.php">Criar</a>
<a class="dropdown-item" href="grausListar.php">Listar</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Utilizadores</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="usersCriar.php">Criar</a>
<a class="dropdown-item" href="usersListar.php">Listar</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Pessoas</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="pessoasCriar.php">Criar</a>
<a class="dropdown-item" href="pessoasListar.php">Listar</a>
</div>
</li>
<li class="nav-item active">
<a class="nav-link" href="sair.php">Sair <span class="sr-only">(current)</span></a>
</li>
</ul>
</div>
</nav>
<?php require_once("scripts.php"); ?>
----------------------------
views.txt
v1_cursos
SELECT cursos.id, nome, descricao, idGrau, cursos.estado, grau FROM cursos, graus WHERE cursos.idGrau=graus.id
v1_users
SELECT users.id AS idUser, idPessoa, username, privilegios.id AS idPrivilegio, nome, apelido, privilegio, users.estado AS estadoUser, pessoas.estado AS estadoPessoa
FROM users, pessoas, privilegios
WHERE pessoas.id = users.idPessoa
AND users.idPrivilegio = privilegios.id
Sem comentários:
Enviar um comentário