Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos, não tenho experiencia com mysql e sou novato em programação, recentemente iniciei um sistema de controle de estoque onde em um dos módulos preciso selecionar apenas um registro de uma determinada tabela, para isso passo ao select o parâmetro necessário para me retornar o registro adequado. Li alguns tópicos de vários foruns e me deparei com PDO, então optei por utilizá-lo em minhas conexões com o banco de dados, porem recebo dois avisos: Atenção: PDOStatement :: execute () espera que o parâmetro 1 seja array, string dada em C: \ wamp64 \ www \ ControledeEstoque \ DAL \ DALUsuario.php na linha *13 e *Aviso: Argumento inválido fornecido para foreach () em C: \ wamp64 \ www \ ControledeEstoque \ GUI \ listausu.php na linha *158.*
A seguir segue o DALUsuario.php e o Listausu.php a que se referem os avisos.
Desde já agradeço a todos.
<?php
require_once '../Modelo/ModeloUsuario.php'; //Cruduser
class DALUsuario extends ModeloUsuario{
protected $tabela = 'usuarios';
public function buscaUsucod($usucod){
$sql = "SELECT * FROM $this->tabela WHERE usucod = :cod";
$stm = DALConexao::prepare($sql);
$stm->bindParam(':cod', $usucod, PDO::PARAM_INT);
$stm->execute($sql);
return $stm->fetch();
}
public function buscaLogin($usulogin, $ususenha){
$sql = "SELECT * FROM $this->tabela WHERE usulogin = :usulogin AND ususenha = :ususenha LIMIT 1";
$stm = DALConexao::prepare($sql);
$stm->bindParam(':usulogin', $usulogin, PDO::PARAM_STR);
$stm->bindParam(':ususenha', $ususenha, PDO::PARAM_STR);
return $stm->fetchAll( PDO::FETCH_ASSOC);
}
public function listaAll(){
$sql = "SELECT * FROM $this->tabela";
$stm = DALConexao::prepare($sql);
$stm->execute();
return $stm->fetchAll();
}
public function buscaTodos(){
$sql = "SELECT * FROM $this->tabela ";
$stm = DALConexao::prepare($sql);
$stm->execute();
return $stm->fetchAll();
}
public function insert(){
$sql = "INSERT INTO $this->tabela(usunome,usulogin,ususenha,nivcod,usunivel,sitcod,ususituacao,clicod)
VALUES(:nome,:usuario,:senha,:nivcod,:nivel,:sitcod,:situacao,:clicod)";
$stm = DALConexao::prepare($sql);
$stm->bindParam(':nome', $this->nome);
$stm->bindParam(':usuario', $this->usuario);
$stm->bindParam(':senha', $this->senha);
$stm->bindParam(':nivcod', $this->nivcod);
$stm->bindParam(':nivel', $this->nivel);
$stm->bindParam(':sitcod', $this->sitcod);
$stm->bindParam(':situacao', $this->situacao);
$stm->bindParam(':clicod', $this->clicod);
return $stm->execute();
}
public function alterar($usucod){
$sql = "UPDATE $this->tabela SET usunome=:nome,usulogin=:usuario,ususenha=:senha,nivcod=:nivcod,usunivel=:nivel,sitcod=:sitcod,ususituacao=:situacao,
clicod=:clicod WHERE usucod=:usucod";
$stm = DALConexao::prepare($sql);
$stm->bindParam(':usucod', $this->codusu);
$stm->bindParam(':nome', $this->nome);
$stm->bindParam(':usuario', $this->usuario);
$stm->bindParam(':senha', $this->senha);
$stm->bindParam(':nivcod', $this->nivcod);
$stm->bindParam(':nivel', $this->nivel);
$stm->bindParam(':sitcod', $this->sitcod);
$stm->bindParam(':situacao', $this->situacao);
$stm->bindParam(':clicod', $this->clicod);
return $stm->execute();
}
public function excluir($usucod){
$sql = "DELETE FROM $this->tabela WHERE usucod = :usucod";
$stm = DALConexao::prepare($sql);
$stm->bindParam(':usucod', $usucod, PDO::PARAM_INT);
return $stm->execute();
}
}
?>
<?php
session_start();
include_once("../Controle/seguranca.php");
if($_SESSION['usuNivel'] != 'administrador'){
$_SESSION['Msg'] = "Erro, acesso não permitido.";
header("location:../GUI/login.php");
}
function __autoload($class) {
require_once '../DAL/' . $class . '.php';
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Controle de Estoque</title>
<?php
include_once("../GUI/cabecalhopagadm.php");
?>
</head>
<body>
<nav>
<?php
include_once("../GUI/menupagadm.php");
?>
</nav> <!-- Fim navbar -->
<div class="container"><br />
<h2>Administração - Lista de Usuários</h2>
<?php
require_once("../GUI/msgs.php");
?>
<blockquote class="blockquote text-right">
<div class="float:left;">
<button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#modalinserir">
<i class="material-icons"> shop </i> Novo Usuário
</button>
</div>
</blockquote>
<div class="row">
<div class="col-12">
<!-- Inicio Modal -->
<div class="modal fade" id="modalinserir" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Cadastro de Usuários</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
<form class="form-horizontal" method="POST" action="http://localhost/ControledeEstoque../Controle/crud_usuario.php" enctype="multipart/form-data">
<div class="form-group">
<label for="recipient-name" class="col-sm-3 control-label">Empresa(cliente)</label>
<div class="col-md-12 mb-2">
<select class="form-control is-valid" name="cliente" required>
<option value="">Faça uma seleção</option>
<?php
$dalcli = new DALCliente();
foreach ($dalcli->buscaTodos() as $key => $value){
echo '<option value="'.$value->clicod.'">'.$value->clinome.'</option>';
} ?>
</select>
</div>
</div>
<div class="form-group">
<label for="recipient-name" class="col-sm-3 control-label">Nome</label>
<div class="col-md-12 mb-2">
<input name="nome" type="text" class="form-control" placeholder="nome dcompleto" required>
</div>
</div>
<div class="form-group">
<label for="recipient-name" class="col-sm-3 control-label">Usuário</label>
<div class="col-md-12 mb-2">
<input name="usuario" type="text" class="form-control" placeholder="nome de usuário" required>
</div>
</div>
<div class="form-group">
<label for="recipient-name" class="col-sm-3 control-label">Senha</label>
<div class="col-md-12 mb-2">
<input name="senha" type="password" class="form-control" placeholder="senha de acesso" required>
</div>
</div>
<div class="form-group">
<label for="recipient-name" class="col-sm-3 control-label">Nivel de acesso</label>
<div class="col-md-12 mb-2">
<select class="form-control is-valid" name="nivel" required>
<option value="">Faça uma seleção</option>
<?php
$dalnivel = new DALNivel();
foreach ($dalnivel->buscaTodos() as $key => $value){
echo '<option value="'.$value->nivcod.'">'.$value->nivnome.'</option>';
} ?>
</select>
</div>
</div>
<div class="form-group">
<label for="recipient-name" class="col-sm-3 control-label">Situação</label>
<div class="col-md-12 mb-2">
<select class="form-control is-valid" name="situacao" required>
<option value="">Faça uma seleção</option>
<?php
$dalsit = new DALSituacao();
foreach ($dalsit->buscaParteMenor() as $key => $value){
echo '<option value="'.$value->sitcod.'">'.$value->sitnome.'</option>';
} ?>
</select>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info btn-sm" data-dismiss="modal">
<i class = "material-icons"> cancel_presentation</i> Cancelar
</button>
<button type="submit" name="btncad" class="btn btn-success btn-sm">
<i class = "material-icons"> save</i> Cadastrar</span>
</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Fim Modal -->
<div class="row">
<div class="col-md-12">
<table class="table table-condensed">
<thead>
<tr>
<th>Nome</th>
<th>Usuário</th>
<th>Nivel</th>
<th>Situacao</th>
<th class="cabecalho-tabela">Ação</th>
</tr>
</thead>
<tbody>
<?php
$dalusu = new DALUsuario();
foreach($dalusu->buscaUsucod(2) as $key => $linha){ ?>
<tr>
<td><?php echo $linha -> usunome; ?></td>
<td><?php echo $linha -> usulogin; ?></td>
<td><?php echo $linha -> usunivel; ?></td>
<td><?php echo $linha -> ususituacao; ?></td>
<td class="cabecalho-tabela">
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#modalvisualizar<?php echo $linha -> usucod;?>">
<i class = "material-icons"> remove_red_eye</i> Visualizar
</button>
<button type="button" class="btn btn-warning btn-sm text-white" data-toggle="modal" data-target="#modalalterar<?php echo $linha -> usucod;?>">
<i class = "material-icons"> edit</i> Alterar
</button>
<button type="button" class="btn btn-danger btn-sm" data-toggle="modal" data-target="#modalexcluir<?php echo $linha -> usucod; ?>">
<i class = "material-icons"> delete_forever</i> Excluir
</button>
</td>
</tr>
<!-- Inicio Modal viasualizasusu -->
<div class="modal fade" id="modalvisualizar<?php echo $linha -> usucod; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel"><?php echo "Usuário - ".$linha -> usunome; ?></h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
<p><?php echo "Cód Usuário - ".$linha -> usucod; ?></p>
<p><?php echo "Nome - ".$linha -> usunome; ?></p>
<p><?php echo "Usuário - ".$linha -> usulogin; ?></p>
<p><?php echo "Nível - ".$linha -> usunivel; ?></p>
<p><?php echo "Situação - ".$linha -> ususituacao; ?></p>
<div class="modal-footer">
<button type="button" class="btn btn-info btn-sm" data-dismiss="modal">
<i class = "material-icons"> exit_to_app</i> Fechar
</button>
</div>
</div>
</div>
</div>
</div>
<!-- Fim Modal viasualizasusu-->
<!-- Inicio Modalexcluir -->
<div class="modal fade" id="modalexcluir<?php echo $linha -> usucod; ?>" tabindex="-1" role="dialog" aria-labelledby="modalexcluirLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="modalexcluirLabel">Exclusão de Produto</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
<form class="form-horizontal" method="POST" action="http://localhost/ControledeEstoque../Controle/crud_produto.php" enctype="multipart/form-data">
<p><?php echo "Cód Usuário - ".$linha -> usucod; ?></p>
<p><?php echo "Nome - ".$linha -> usunome; ?></p>
<p><?php echo "Usuário - ".$linha -> usulogin; ?></p>
<p><?php echo "Nível - ".$linha -> usunivel; ?></p>
<p><?php echo "Situação - ".$linha -> ususituacao; ?></p>
<p><?php echo "Registros excluídos não poderão ser recuparados.";?></p>
<input name="Xcod" type="hidden" id="Xcod" value="<?php echo $linha -> usucod; ?>">
<div class="modal-footer">
<button type="button" class="btn btn-info btn-sm" data-dismiss="modal">
<i class = "material-icons"> cancel_presentation</i> Cancelar
</button>
<button type="submit" name="btnexc" class="btn btn-danger btn-sm">
<i class = "material-icons"> delete_forever</i> Excluir
</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Fim Modal Modalexcluir-->
<!-- Inicio Modalalterar -->
<div class="modal fade" id="modalalterar<?php echo $linha -> usucod;?>" tabindex="-1" role="dialog" aria-labelledby="modalalterarLabel"
data-target="#modalalterar" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="modalalterarLabel">Alteração de Produto</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
<form class="form-horizontal" method="POST" action="http://localhost/ControledeEstoque../Controle/crud_usuario.php" enctype="multipart/form-data">
<div class="form-group">
<label for="recipient-name" class="control-label">Empresa(cliente)</label>
<select class="form-control is-valid" name="cliente" required>
<option value="">Faça uma seleção</option>
<?php
$dalcli = new DALCliente();
foreach ($dalcli->buscaTodos() as $key => $value){
if($value->clicod != $linha->clicod){
echo '<option value="'.$value->clicod.'">'.$value->clinome.'</option>';
}else{
$clientecod = $value->clicod;
$clientenome = $value->clinome;
}
} ?>
<option
value="<?php echo $clientecod;?>"
<?php echo "selected"; ?> >
<?php echo $clientenome;?>
</option>
</select>
</div>
<div class="form-group">
<label for="recipient-name" class="control-label">Nome</label>
<input name="nome" type="text" class="form-control" id="nome"
value="<?php echo $linha->usunome;?>" required>
</div>
<div class="form-group">
<label for="recipient-name" class="control-label">Usuário</label>
<input name="usuario" type="text" class="form-control" id="usuario"
value="<?php echo $linha->usulogin;?>" required>
</div>
<div class="form-group">
<label for="recipient-name" class="control-label">Senha</label>
<input name="senha" type="password" class="form-control" id="senha"
value="<?php //echo $linha->ususenha;?>" required>
</div>
<div class="form-group">
<label for="recipient-name" class="control-label">Nível de acesso</label>
<select class="form-control is-valid" name="nivel" required>
<option value="">Faça uma seleção</option>
<?php
$dalnivel = new DALNivel();
foreach ($dalnivel->buscaTodos() as $key => $value){
if($value->nivcod != $linha->nivcod){
echo '<option value="'.$value->nivcod.'">'.$value->nivnome.'</option>';
}else{
$nivelcod = $value->nivcod;
$nivelnome = $value->nivnome;
}
} ?>
<option
value="<?php echo $nivelcod;?>"
<?php echo "selected"; ?> >
<?php echo $nivelnome;?>
</option>
</select>
</div>
<div class="form-group">
<label for="recipient-name" class="control-label">Situação</label>
<select class="form-control is-valid" name="situacao" required>
<option value="">Faça uma seleção</option>
<?php
$dalsit = new DALSituacao();
foreach ($dalsit->buscaParteMenor() as $key => $value){
if($value->sitcod != $linha->sitcod){
echo '<option value="'.$value->sitcod.'">'.$value->sitnome.'</option>';
}else{
$situacaocod = $value->sitcod;
$situacaonome = $value->sitnome;
}
} ?>
<option
value="<?php echo $situacaocod;?>"
<?php echo "selected"; ?> >
<?php echo $situacaonome;?>
</option>
</select>
</div>
<input name="Xcod" type="hidden" id="Xcod" value="<?php echo $linha -> usucod;?>">
<div class="modal-footer">
<button type="button" class="btn btn-info btn-sm" data-dismiss="modal">
<i class = "material-icons"> cancel_presentation</i> Cancelar
</button>
<button type="submit" name="btnalt" class="btn btn-warning btn-sm text-white">
<i class = "material-icons"> edit</i> Alterar
</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Termino Modalalterar -->
<?php } ?>
</tbody>
</table>
</div>
</div> <!-- DIV ROW -->
</div> <!-- DIV COL - 12 -->
</div> <!-- DIV ROW -->
</div> <!-- DIV CONTAINER -->
<?php
include_once("../GUI/rodapepagadm.php");
?>
</body>
</html>Carregando comentários...