Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Por favor,
Clicando no botão "Alterar" abre o form "myModal", mostrando os registros para alterar.
Ocorre que após fazer a alteração em qualquer campo mostra os erros.
>
Citar
! ) Notice: Undefined variable: id in C:\wamp\www\controleatividades\metadados\Index.php on line 119
Call Stack
#
Time
Memory
Function
Location
1
0.0009
391744
{main}( )
...\Index.php:0
( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\controleatividades\classes\Usuarios.php on line 83
( ! ) PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\controleatividades\classes\Usuarios.php on line 83
Call Stack
#
Time
Memory
Function
Location
1
0.0009
391744
{main}( )
...\Index.php:0
2
0.0064
427664
Usuarios->update( )
...\Index.php**:**119
3
0.0086
444256
[execute](http://www.php.net/PDOStatement.execute) ( )
...\Usuarios.php**:**83
Código página index.php
<?php
// Salvo em C:\wamp\controleatividades\metadados\Index.php;
//require_once 'classes/Usuarios.php';
function __autoload($class) {
require_once '../classes/' . $class . '.php';
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Controle de Atividades - Orientado a Objetos</title>
<!-- Bootstrap -->
<link href="../css/bootstrap.min.css" rel="stylesheet">
<script>
var ch = '<?php echo sha1(time()); ?>';
</script>
</head>
<body>
<div class="container">
<header>
<img src="imagens/logo.png"/>
<div class="well">
<h1 class="text-center">Controle de Atividades <br><span class="text-primary">Estudos</span></h1>
</div>
</header>
<!-- Form cadastrar -->
<div style="margin: 100px 0; text-align: center">
<?php
$usuario = new Usuarios();
// Cadastro de Usuario
if ( isset($_POST['cadastrar']) ):
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = $_POST['data_inicio'];
$data_termino = $_POST['data_termino'];
$data_paralisacao = $_POST['data_paralisacao'];
$observacao = $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
if ($usuario->insert()) {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Incluido com sucesso!!! </div>';
} else {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Erro ao alterar!!! </div>';
}
endif;
//exclusao de Usuario
if (isset($_POST['excluir_ui'])){
$id = $_POST['id_ui'];
$usuario->delete($id);
}
// Alterar Usuario
if ( isset($_POST['alterar']) ) {
$id_registros = $_POST['id_uii'];
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = $_POST['data_inicio'];
$data_termino = $_POST['data_termino'];
$data_paralisacao = $_POST['data_paralisacao'];
$observacao = $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
$usuario->update($id);
}
?>
<legend>Formulário Cadastrar</legend>
<form class="form-inline" method="post">
<div class="input-group">
<label class="col-xs-1">Atividade:</label>
<input name="nome_atividade" type="text" class="form-control">
<label class="col-xs-1">Livro:</label><br>
<input name="nome_livro" type="text" class="form-control">
<label class="col-xs-1">Autor:</label><br>
<input name="nome_autor" type="text" class="form-control">
<label class="col-xs-1">Editora:</label><br>
<input name="nome_editora" type="text" class="form-control">
<label class="col-xs-1">Quant.Fls:</label><br>
<input name="quant_fl" type="text" class="form-control">
<label class="col-xs-1">Fls. Parei:</label><br>
<input name="fl_parei" type="text" class="form-control">
<label class="col-xs-1">Início:</label><br>
<input name="data_inicio" type="text" class="form-control">
<label class="col-xs-1">Término:</label><br>
<input name="data_termino" type="text" class="form-control">
<label class="col-xs-1">Paralisação:</label><br>
<input name="data_paralisacao" type="text" class="form-control">
<label class="col-xs-1">Observação:</label><br>
<input name="observacao" type="text" class="form-control">
</div>
<div class="col-xs-pull-2" align="center">
<input name="cadastrar" type="submit" class="btn btn-success" value="Cadastrar">
</div>
</form>
</div>
<!-- Fim form cadastrar -->
<!-- Inicio da tabela -->
<table class="table table-striped table-bordered table-hover">
<thead>
<tr class="active">
<th>Atividade</th>
<th>Livro</th>
<th>Autor</th>
<th>Editora</th>
<th>Quant. fl</th>
<th>Fl Parei</th>
<th>Inicio</th>
<th>Término</th>
<th>Parei</th>
<th>Observação</th>
</tr>
</thead>
<tbody>
<?php foreach ($usuario->findAll() as $key => $value) { ?>
<tr>
<td> <?php echo $value->nome_atividade;?> </td>
<td> <?php echo $value->nome_livro;?> </td>
<td> <?php echo $value->nome_autor;?> </td>
<td> <?php echo $value->nome_editora;?> </td>
<td> <?php echo $value->quant_fl;?> </td>
<td> <?php echo $value->fl_parei;?> </td>
<td> <?php echo $value->data_inicio;?> </td>
<td> <?php echo $value->data_termino;?> </td>
<td> <?php echo $value->data_paralisacao;?> </td>
<td> <?php echo $value->observacao;?> </td>
<td>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal
('<?php echo $value->nome_atividade;?>',
'<?php echo $value->nome_livro;?>',
'<?php echo $value->nome_autor;?>',
'<?php echo $value->nome_editora;?>',
'<?php echo $value->quant_fl;?>',
'<?php echo $value->fl_parei;?>',
'<?php echo $value->data_inicio;?>',
'<?php echo $value->data_termino;?>',
'<?php echo $value->data_paralisacao;?>',
'<?php echo $value->observacao;?>',
<?php echo $value->id_registros;?>);">Alterar</button>
<form class="form_excluir" method="post" style="float: left; margin: 0 15px;">
<input name="id_ui" type="hidden" value="<?php echo $value->id_registros;?>"/><button name="excluir_ui" type="submit" onclick="fn_excluir();" class="btn btn-danger">Excluir</button></form> </td>
</tr>
<?php } ?>
</tbody>
</table>
<!-- Fim da tabela -->
<!-- Modal para alterar Usuário -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Alterando Usuário</h4>
</div>
<div class="modal-body">
<form class="form-inline" method="post">
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_atividade" name="nome_atividade" type="nome_atividade" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_livro" name="nome_livro" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_autor" name="nome_autor" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_editora" name="nome_editora" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_quant_fl" name="quant_fl" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_fl_parei" name="fl_parei" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_data_inicio" name="data_inicio" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_data_termino" name="data_termino" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_data_paralisacao" name="data_paralisacao" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_observacao" name="observacao" type="text" class="form-control" required value="" >
</div>
<!--<input id="id_uii" name="id_uii" type="hidden" value=""/>-->
<!--Fernando C pede para substituir só alinha acima por essa linha -->
<input id="id_uii" name="id_uii" type="hidden" value=""/>
<input name="alterar" type="submit" class="btn btn-warning" value="Alterar">
</form>
</div>
</div>
</div>
</div> <!-- fim Modal -->
</div> <!-- fim cantainer -->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://code.jquery.com/jquery-1.11.3.min.js" integrity="sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=" crossorigin="anonymous"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="../js/bootstrap.min.js"></script>
<script src="../js/script.js"></script>
}
</body>
</html>
O código do Usuários.php tem os seguinte código:
<?phprequire_once 'CrudUser.php';
class Usuarios extends CrudUser {
protected $tabela = 'tb_controleatividades';
public function findUnit($id) {
$sql = "SELECT * FROM $this->tabela WHERE id_registros = :id";
$stm = DB::prepare($sql);
$stm->bindParam(':id', $id, PDO::PARAM_INT);
$stm->execute();
return $stm->fetch();
}
public function findAll() {
$sql = "SELECT * FROM $this->tabela";
$stm = DB::prepare($sql);
$stm->execute();
return $stm->fetchAll();
}
public function insert() {
$sql = "INSERT INTO $this->tabela (nome_atividade, nome_livro, nome_autor, nome_editora, quant_fl, fl_parei, data_inicio, data_termino, data_paralisacao, observacao\n"
. ") VALUES (:nome_atividade, :nome_livro, :nome_autor, :nome_editora, :quant_fl, :fl_parei, :data_inicio, :data_termino, :data_paralisacao\n"
. ", :observacao)";
$stm = DB::prepare($sql);
$stm->bindParam(':nome_atividade', $this->nome_atividade);
$stm->bindParam(':nome_livro', $this->nome_livro);
$stm->bindParam(':nome_autor', $this->nome_autor);
$stm->bindParam(':nome_editora', $this->nome_editora);
$stm->bindParam(':quant_fl', $this->quant_fl);
$stm->bindParam(':fl_parei', $this->fl_parei);
$stm->bindParam(':data_inicio', $this->data_inicio);
$stm->bindParam(':data_termino', $this->data_termino);
$stm->bindParam(':data_paralisacao', $this->data_paralisacao);
$stm->bindParam(':observacao', $this->observacao);
return $stm->execute();
}
public function update($id) {
$sql = "UPDATE $this->tabela SET nome_atividade = :nome_atividade,
nome_livro = :nome_livro,
nome_autor = :nome_autor,
nome_editora = :nome_editora,
quant_fl = :quant_fl,
fl_parei = :fl_parei,
data_inicio = :data_inicio,
data_termino = :data_inicio,
data_paralisacao = :data_paralisacao,
observacao = :observacao,
\n"
. " WHERE id_registros = :id";
$stm = DB::prepare($sql);
$stm->bindParam(':id_registros', $id, PDO::PARAM_INT);
$stm->bindParam(':nome_atividade', $this->nome_atividade);
$stm->bindParam(':nome_livro', $this->nome_livro);
$stm->bindParam(':nome_autor', $this->nome_autor);
$stm->bindParam(':nome_editora', $this->nome_editora);
$stm->bindParam(':quant_fl', $this->quant_fl);
$stm->bindParam(':fl_parei', $this->fl_parei);
$stm->bindParam(':data_inicio', $this->data_inicio);
$stm->bindParam(':data_termino', $this->data_termino);
$stm->bindParam(':data_paralisacao', $this->data_paralisacao);
$stm->bindParam(':observacao', $this->observacao);
return $stm->execute();
}
public function delete($id) {
$sql = "DELETE FROM $this->tabela WHERE id_registros = :id_registros";
$stm = DB::prepare($sql);
$stm->bindParam(':id_registros', $id, PDO::PARAM_INT);
return $stm->execute();
}
}
No index.php linha 119:
>
Citar
$usuario->update($id);
Em Usuarios.php linha 83 é essa:
return $stm->execute();
A parte de "Excluir" registro funciona, também está cadastrando.
Muito obrigado.Olá gente,
Santos não saberia te responder.
Como estou praticamente o dia todo fiz o seguinte:
O meu Id_registro estava me causando um confusão tremenda no script.
Para saber onde estava errando alterei o nome do campo de id_registros para Id.
Procedi as alterações e descobrir, independente do nome do campo Id que, estava quebra erradamente linhas da SQL em UPDATE.
Fiz as quebradas \n" e funcionou corretamente, mas além disso existiam outros erros de digitação.
Santos, agora os registros estão sendo alterados, mais outros problemas.
-
Quando vou vou fazer o "Cadastramento" ou "Alteração" estou sendo obrigado a preencher todos os campos. Ocorre que tem campos que não tenho necessidade de preencher, mas não está deixando salvar o cadastramento ou a alteração;
-
Originalmente no formulário de estudo tinha em cada campo, no "input", "required value=" ", retirei, mas continua me cobrando o preenchimento.
-
No banco de dados desabilitei o "Nulo", mas continua no form me obrigando a preencher;
-
O form está assim agora:
<?php
// Salvo em C:\wamp\controleatividades\metadados\Index.php;
//require_once 'classes/Usuarios.php';
function __autoload($class) {
require_once '../classes/' . $class . '.php';
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Controle de Atividades - Orientado a Objetos</title>
<!-- Bootstrap -->
<link href="../css/bootstrap.min.css" rel="stylesheet">
<script>
var ch = '<?php echo sha1(time()); ?>';
</script>
</head>
<body>
<div class="container">
<header>
<img src="imagens/logo.png"/>
<div class="well">
<h1 class="text-center">Controle de Atividades <br><span class="text-primary">Estudos</span></h1>
</div>
</header>
<!-- Form cadastrar -->
<div style="margin: 100px 0; text-align: center">
<?php
$usuario = new Usuarios();
// Cadastro de Usuario
if ( isset($_POST['cadastrar']) ):
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = $_POST['data_inicio'];
$data_termino = $_POST['data_termino'];
$data_paralisacao = $_POST['data_paralisacao'];
$observacao = $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
if ($usuario->insert()) {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Incluido com sucesso!!! </div>';
} else {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Erro ao alterar!!! </div>';
}
endif;
//exclusao de Usuario
if (isset($_POST['excluir_ui'])){
$id = $_POST['id_ui'];
$usuario->delete($id);
}
// Alterar Usuario
if ( isset($_POST['alterar']) ) {
$id = $_POST['id_uii'];
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = $_POST['data_inicio'];
$data_termino = $_POST['data_termino'];
$data_paralisacao = $_POST['data_paralisacao'];
$observacao = $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
$usuario->update($id);
}
?>
<legend>Formulário Cadastrar</legend>
<form class="form-inline" method="post">
<div class="input-group">
<label class="col-xs-1">Atividade:</label>
<input name="nome_atividade" type="text" class="form-control">
<label class="col-xs-1">Livro:</label><br>
<input name="nome_livro" type="text" class="form-control">
<label class="col-xs-1">Autor:</label><br>
<input name="nome_autor" type="text" class="form-control">
<label class="col-xs-1">Editora:</label><br>
<input name="nome_editora" type="text" class="form-control">
<label class="col-xs-1">Quant.Fls:</label><br>
<input name="quant_fl" type="text" class="form-control">
<label class="col-xs-1">Fls. Parei:</label><br>
<input name="fl_parei" type="text" class="form-control">
<label class="col-xs-1">Início:</label><br>
<input name="data_inicio" type="text" class="form-control">
<label class="col-xs-1">Término:</label><br>
<input name="data_termino" type="text" class="form-control">
<label class="col-xs-1">Paralisação:</label><br>
<input name="data_paralisacao" type="text" class="form-control">
<label class="col-xs-1">Observação:</label><br>
<input name="observacao" type="text" class="form-control">
</div>
<div class="col-xs-pull-2" align="center">
<input name="cadastrar" type="submit" class="btn btn-success" value="Cadastrar">
</div>
</form>
</div>
<!-- Fim form cadastrar -->
<!-- Inicio da tabela -->
<table width="100%" class="table table-striped table-bordered table-hover">
<thead>
<tr class="active">
<th class="text-center">Atividade</th>
<th class="text-center">Livro</th>
<th class="text-center">Autor</th>
<th class="text-center">Editora</th>
<th class="text-center">Quant. fl</th>
<th class="text-center">Fl Parei</th>
<th class="text-center">Inicio</th>
<th class="text-center">Término</th>
<th class="text-center">Parei</th>
<th class="text-center">Observação</th>
</tr>
</thead>
<tbody>
<?php foreach ($usuario->findAll() as $key => $value) { ?>
<tr>
<td> <?php echo $value->nome_atividade;?> </td>
<td> <?php echo $value->nome_livro;?> </td>
<td> <?php echo $value->nome_autor;?> </td>
<td> <?php echo $value->nome_editora;?> </td>
<td> <?php echo $value->quant_fl;?> </td>
<td> <?php echo $value->fl_parei;?> </td>
<td class="text-center"> <?php echo $value->data_inicio;?> </td>
<td class="text-center"> <?php echo $value->data_termino;?> </td>
<td class="text-center"> <?php echo $value->data_paralisacao;?> </td>
<td> <?php echo $value->observacao;?> </td>
<td>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal
('<?php echo $value->nome_atividade;?>',
'<?php echo $value->nome_livro;?>',
'<?php echo $value->nome_autor;?>',
'<?php echo $value->nome_editora;?>',
'<?php echo $value->quant_fl;?>',
'<?php echo $value->fl_parei;?>',
'<?php echo $value->data_inicio;?>',
'<?php echo $value->data_termino;?>',
'<?php echo $value->data_paralisacao;?>',
'<?php echo $value->observacao;?>',
<?php echo $value->id;?>);">Alterar</button>
<form class="form_excluir" method="post" style="float: left; margin: 0 40px;"><input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/><button name="excluir_ui" type="submit" onclick="fn_excluir();" class="btn btn-danger">Excluir</button></form>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<!-- Fim da tabela -->
<!-- Modal para alterar Usuário -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Alterando Usuário</h4>
</div>
<div class="modal-body">
<form class="form-inline" method="post">
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_atividade" name="nome_atividade" type="text" class="form-control" required value="" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_livro" name="nome_livro" type="text" class="form-control" required value="false" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_autor" name="nome_autor" type="text" class="form-control">
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_nome_editora" name="nome_editora" type="text" class="form-control">
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_quant_fl" name="quant_fl" type="text" class="form-control">
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_fl_parei" name="fl_parei" type="text" class="form-control">
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_data_inicio" name="data_inicio" type="text" class="form-control" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_data_termino" name="data_termino" type="text" class="form-control">
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_data_paralisacao" name="data_paralisacao" type="text" class="form-control" >
</div>
<div class="input-group">
<span class="input-group-addon glyphicon glyphicon-user"></span>
<input id="text_observacao" name="observacao" type="text" class="form-control" >
</div>
<input id="id_uii" name="id_uii" type="hidden" value=""/>
<input name="alterar" type="submit" class="btn btn-warning" value="Alterar">
</form>
</div>
</div>
</div>
</div> <!-- fim Modal -->
</div> <!-- fim cantainer -->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://code.jquery.com/jquery-1.11.3.min.js" integrity="sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=" crossorigin="anonymous"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="../js/bootstrap.min.js"></script>
<script src="../js/script.js"></script>
}
</body>
</html>
Outro caso é que não consigo fazer com que os botões de "Alterar" e "Exclui" fiquem um ao lado do outro. Por favor, observe uma parte do form:
>
Citar
A parte que código deles é essa:
<form class="form_excluir" method="post" style="float: left; margin: 0 40px;"><input name="id_ui" type="hidden" value="<?php echo $value->id;?>"/><button name="excluir_ui" type="submit" onclick="fn_excluir();" class="btn btn-danger">Excluir</button></form>
Já vi as "class" alterei "px" (style="float: left; margin: 0 40px;") do botão "Exclui" ele vai para direita, mas não sobe para ficar do lado do "Alterar". Entendo que originalmente o estudo mostra campos com textos pequenos e o meu tem campos com textos grandes e vem contribuindo para alterar a "table", mas deve ter um jeito.
Santos, desde já agradeço as suas ajudas. Desculpe as colagens, sempre fico achando que não postando fica difícil para entender o problema.

Com relação a posição do botão "Excluir" foi resolvido.
Fiz o seguinte:
Criei mais uma <td>, ficando uma exclusiva para o botão "Alterar" e outra para o botão "Excluir", com isso terminou aquela renderização desproporcional.
Meu problema agora é com as linhas do form de "Cadastrar" e "Alterar".
Na página de “Cadastro” se todos os campos não forem preenchidos os dados não são salvos.
Ocorre que no banco quando "povoei" para teste via SQL foi salvo tudo com sucesso e teve campos que não digitei nada.
Como que agora via form fica exigindo o preenchimento.
Eu deixei, no phpMyAdmin, marcado o campo Null na estrutura da tabela. Será que tenho que desmarcar para o form não ficar exigindo o preenchimento?
O mesmo ocorre abrindo "modal" o form para "Alterar" um registro.
Já retirei o "required " do form, mas não adianta.
Explicando melhor: Vem do banco o campo "autor" João do Teste, clicando no botão "Alterar" o registro é alterado para “João do Teste da Silva”, mas desde que os demais campos estejam preenchidos. Se deixar um sem preencher a alteração não é salva.>
Em 01/12/2018 at 23:57, TeixeiraRamos disse:
Com relação a posição do botão "Excluir" foi resolvido.
Fiz o seguinte:
Criei mais uma <td>, ficando uma exclusiva para o botão "Alterar" e outra para o botão "Excluir", com isso terminou aquela renderização desproporcional.
Meu problema agora é com as linhas do form de "Cadastrar" e "Alterar".
Na página de “Cadastro” se todos os campos não forem preenchidos os dados não são salvos.
Ocorre que no banco quando "povoei" para teste via SQL foi salvo tudo com sucesso e teve campos que não digitei nada.
Como que agora via form fica exigindo o preenchimento.
Eu deixei, no phpMyAdmin, marcado o campo Null na estrutura da tabela. Será que tenho que desmarcar para o form não ficar exigindo o preenchimento?
O mesmo ocorre abrindo "modal" o form para "Alterar" um registro.
Já retirei o "required " do form, mas não adianta.
Explicando melhor: Vem do banco o campo "autor" João do Teste, clicando no botão "Alterar" o registro é alterado para “João do Teste da Silva”, mas desde que os demais campos estejam preenchidos. Se deixar um sem preencher a alteração não é salva.
São muitas perguntas....
tem algo de errado com seu código, vê se funciona assim:
public function update($id) {
$sql = "UPDATE $this->tabela SET nome_atividade = :nome_atividade,
nome_livro = :nome_livro,
nome_autor = :nome_autor,
nome_editora = :nome_editora,
quant_fl = :quant_fl,
fl_parei = :fl_parei,
data_inicio = :data_inicio,
data_termino = :data_inicio,
data_paralisacao = :data_paralisacao,
observacao = :observacao,
\n"
. " WHERE id_registros = :id_registros";
$stm = DB::prepare($sql);
$stm->bindParam(':id_registros', $this->id);// ou $stm->bindParam(':id_registros', $this->id_registros);
$stm->bindParam(':nome_atividade', $this->nome_atividade);
$stm->bindParam(':nome_livro', $this->nome_livro);
$stm->bindParam(':nome_autor', $this->nome_autor);
$stm->bindParam(':nome_editora', $this->nome_editora);
$stm->bindParam(':quant_fl', $this->quant_fl);
$stm->bindParam(':fl_parei', $this->fl_parei);
$stm->bindParam(':data_inicio', $this->data_inicio);
$stm->bindParam(':data_termino', $this->data_termino);
$stm->bindParam(':data_paralisacao', $this->data_paralisacao);
$stm->bindParam(':observacao', $this->observacao);
return $stm->execute();
}
outra coisas, esse campos de datas, você está convertendo onde pro formato yyyy/mm/dd?
qual o formato do campo na tabela?Olá Santos,
Você tem toda razão. Perdão.
Depois que postei o código acima, fui analisando parte por parte do script com outro igual a esse, porém só com dois campos tipo "VARCHAR" que (um campo nome e outro email), que por sua vez funciona perfeitamente. Se não digitar email é o form "Cadastro" salva (aceita).
Antes de você postar e com desejo de testar e aprender, achei que o nome do campo "id_registros", estava me fazendo confusão e alterei para somente "id", conforme o script da aula (embora entenda que não iria interferir em nada essa mudança).
Com isso mudei e fui vendo se tinha digitado algo errado, nada achei, mas continuou dando problema no cadastramento, ou seja, estava sendo obrigado a digitar todos os campos do form "Cadastrar".
Essa exigência contraria a finalidade do cadastramento. Se ainda não terminei uma leitura, por exemplo, de um livro que cadastrei, como vou digitar a data de encerramento no form de cadastramento?
Daí fiz o seguinte:
-
Só deixei o campo “nome_livro” como required value="" no form e mantive habilitado o campo "Nul" no phpMyAdmin e;
-
desabilitei no phpMyAdmin a opção "Nul" na estrutura de todos os campos "varchar";
-
Resolveu? Não. Continuou me obrigando a digitar todos os campos date. Foi ai que reparei que esse campo não permite desabilitar a opção "Nul" na estrutura do phpMyAdmin. E, agora?;
-
Para testar transformei, mesmo achando que estava errando, os campos "date" em "varchar".
-
Resolveu? Sim, o formulário "Cadastrar" agora aceita deixar os campos sem em branco, até campo data, nada exceto "nome_livro";
-
Mas, não acho isso correto. Imagine se vou necessitar desses campos "date" para cálculo de data. E, aí como fica? Mantenho como "varchar" e altero o script para "date"?
-
Creio que não é por aí.
Santos, no momento no meu banco de dados todos os campos, até data, estão como "varchar". E com relação a habilitado "Nul", somente o campo "nome_livro". No form o campo "nome_livro", também é o único que se encontra no form required value=""
Lamento que na aula não foi mostrado um exemplo com campo "date".
Entendo que fica parecendo que desejo copiar o script de uma aula e pronto. Não desejo isso, desejo aprender mesmo como funciona. Inclusive sendo o primeiro formulário que estou criando já aprendi outras coisas.
Santos, por favor, vou aguardar sua sugestão se devo voltar o banco para os campos data, tipo "date" e o que devo fazer no form para que aceito não digitar data quando não for o caso.
Desculpe, mais uma vez, mas tudo isso é desejo de aprender mesmo. Não vou apresentar isso em aula, não vou criar um site para vender algo (o que não seria nada demais se fosse). Sou aposentado e gostaria de aprender somente.
Caro Santos,
Por favor, porque o meu código não funciona se está igual a esse que funciona:
public function update($id) {
$sql = "UPDATE $this->tabela SET nome = :nome, email = :email WHERE id = :id";
$stm = DB::prepare($sql);
$stm->bindParam(':id', $id, PDO::PARAM_INT);
$stm->bindParam(':nome', $this->nome);
$stm->bindParam(':email', $this->email);
return $stm->execute();
}
Obrigado>
4 horas atrás, TeixeiraRamos disse:
Por favor, porque o meu código não funciona se está igual a esse que funciona:
Não está igual, Veja essa linha:
ao invés disso:
$stm->bindParam(':id', $id, PDO::PARAM_INT);
não seria isso:
$stm->bindParam(':id', $this->id);Só deixei o campo “nome_livro” como required value="" no form e mantive habilitado o campo "Nul" no phpMyAdmin e;
>
Citar
acredito que seria NOT NULL no banco
Resolveu? Não. Continuou me obrigando a digitar todos os campos date. Foi ai que reparei que esse campo não permite desabilitar a opção "Nul" na estrutura do phpMyAdmin. E, agora?;
>
Citar
Campo data é no formato date(yyyy/mm/dd), e deixa padrão com NULL, caso a data não seja informada, você trata na aplicação... podes fazer assim:
$data_temino = !$_POST['data_termino'] ? *NULL *:
date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_termino'])));Santos Boa Noite!
Vou fazer tudo conforme você sugeriu.
Volto para informar.
Muito obrigado por tudo. Que paciência! Que Deus de ajude sempre.
>
58 minutos atrás, TeixeiraRamos disse:
Santos Boa Noite!
Vou fazer tudo conforme você sugeriu.
Volto para informar.
Muito obrigado por tudo. Que paciência! Que Deus de ajude sempre.
Vê e depois retorna com resultados.
Santos Boa Noite a você e a todos do forum,
A estrutura do bando ficou assim:
>
Citar
O script da function update:
public function update($id) {
$sql = "UPDATE $this->tabela SET nome_atividade = :nome_atividade, nome_livro = :nome_livro,\n"
."nome_autor = :nome_autor, nome_editora = :nome_editora, quant_fl = :quant_fl,\n"
."fl_parei = :fl_parei, data_inicio = :data_inicio, data_termino = :data_termino,\n"
."data_paralisacao = :data_paralisacao, observacao = :observacao WHERE id = :id";
$stm = DB::prepare($sql);
$stm->bindParam(':id', $this->id);
$stm->bindParam(':nome_atividade', $this->nome_atividade);
$stm->bindParam(':nome_livro', $this->nome_livro);
$stm->bindParam(':nome_autor', $this->nome_autor);
$stm->bindParam(':nome_editora', $this->nome_editora);
$stm->bindParam(':quant_fl', $this->quant_fl);
$stm->bindParam(':fl_parei', $this->fl_parei);
$stm->bindParam(':data_inicio', $this->data_inicio);
$stm->bindParam(':data_termino', $this->data_termino);
$stm->bindParam(':data_paralisacao', $this->data_paralisacao);
$stm->bindParam(':observacao', $this->observacao);
return $stm->execute();
}
Entrei com dois registros para teste. (por favor veja os dois últimos).
Não exigiu a digitação dos campos datas como antes, mas o resultado, para os dois registram mostram uma data que não digitei para os campos "data_termino" e "data_paralisacao".
Por favor, observe que para a data "data_inicio", também não digitei nada, mas não apareceu essa para 1970-01-01.
Ainda estou errando alguma coisa.
>
Citar

Pronto,
você usou o if como orientei?
o que ele faz, caso você não informe a data, ele irá inserir null nos campos de data_inicio,data_termino e data_paralisacao.
Como ficou as datas no banco como ficou? ficou com valor null ?
outra, esses campos fl_parei e quant_fl é aconselhavel deixar como float, int ou decimal
Santos,
Por favor, onde está esse if. Meu Deus.
>
Citar
você usou o if como orientei?
Não foi só nesse If que você sugeriu?
// Cadastro de Usuario
if ( isset($_POST['cadastrar']) ):
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = !$_POST['data_inicio']? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_inicio'])));
$data_termino = $_POST['data_termino'] ? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_termino'])));
$data_paralisacao = $_POST['data_paralisacao'] ? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_paralisacao'])));
$observacao = $_POST['observacao'];
Não fiz correto?
>
Citar
Como ficou as datas no banco como ficou? ficou com valor null ?
Não ficaram Null, mas sim 1970-01-01 para os dou registros como mostra tela "Procura" do phpMyAdmin
>
Citar
outra, esses campos fl_parei e quant_fl é aconselhavel deixar como float, int ou decimal
Esses dois campos estavam como int. Agora vou ter de excluir e criar novamente. Não aceita mudança.
Achei o erro do if
Estava faltando ! do !$_POST
// Cadastro de Usuario
if ( isset($_POST['cadastrar']) ):
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = !$_POST['data_inicio']? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_inicio'])));
$data_termino = !$_POST['data_termino'] ? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_termino'])));
$data_paralisacao = !$_POST['data_paralisacao'] ? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_paralisacao'])));
$observacao = $_POST['observacao'];
Vou testar novamente. Depois informo.
Testei e continua com o seguinte:
Não cobra mais a digitação dos campos;
O campo data_inicio no form fica em branco e no bando indica Null;
Os campos data_termino e data_paralisacao continuam no form mostrando a data 1970-01-01 , sem se digitado nada. No banco também está salvando a data 1970-01-01 para ambos os campos.
Agora, de onde vem essa data 1970-01-01.
Volto amanhã.
Que todos tenham uma boa noite de sono.você tem que fazer o IF tanto no INSERT quanto no UPDATE. Essa data 1970-01-01 é data padrão do banco quando não é informada. como quando você alterou o IF não estava funcionando, ela foi cadastrada.
Olá Santos,
Por favor, no meu index.php
A parte do código de *INSERT* é diferente do* UPDATE, como vou colocar IF. *
*Depois do if só tem: *
if ($usuario->insert()) {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Incluido com sucesso!!! </div>';
} else {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Erro ao alterar!!! </div>';
}
endif;
Todos os if
<?php
$usuario = new Usuarios();
// Cadastro de Usuario
if ( isset($_POST['cadastrar']) ):
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = !$_POST['data_inicio']? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_inicio'])));
$data_termino = !$_POST['data_termino'] ? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_termino'])));
$data_paralisacao = !$_POST['data_paralisacao'] ? NULL :
date('Y-m-d', strtotime(str_replace('/','-',$_POST['data_paralisacao'])));
$observacao = $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
if ($usuario->insert()) {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Incluido com sucesso!!! </div>';
} else {
echo '<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>OK!</strong> Erro ao alterar!!! </div>';
}
endif;
//exclusao de Usuario
if (isset($_POST['excluir_ui'])){
$id = $_POST['id_ui'];
$usuario->delete($id);
}
// Alterar Usuario
if ( isset($_POST['alterar']) ) {
$id = $_POST['id_uii'];
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = $_POST['data_inicio'];
$data_termino = $_POST['data_termino'];
$data_paralisacao = $_POST['data_paralisacao'];
$observacao= $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
$usuario->update($id);
}
?>
* *
Entendo que tem que fazer a mesma coisa em "Alterar" que não está funcionando para nenhum campo.
Para "Cadastramento" observei que:
-
Entrando apenas com o "nome_livro" e com 0 para os campos 'quant_fl' e 'fl_parei' - Cadastra com sucesso os campos, aqueles que não digitei ficam em branco e não me obrigam a digitar nenhum campo (banco de dados também normal);
-
Entrando com as datas também fica normal salva com a data que digitei, mas tem que entrar assim: 2018-12-06 (no banco de dados salva com sucesso 2018-12-06;
-
Creio que a parte de cadastramento está correto o IF que você pediu é que estou pedido
Substitui por isso:
Alteração:
if ( isset($_POST['alterar']) ) {
$id = $_POST['id_uii'];
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = !$_POST['data_inicio'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_inicio'])));
$data_termino = !$_POST['data_termino'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_termino'])));
$data_paralisacao = !$_POST['data_paralisacao'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_paralisacao'])));
$observacao= $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
$usuario->update($id);
}
*"Entrando com as datas também fica normal salva com a data que digitei, mas tem que entrar assim: 2018-12-06 (no banco de dados salva com sucesso 2018-12-06;" *Isso mesmo que tem cadastrar, quando for exibir faz a conversão pro formato "06/12/2018".
o cadastrar deixa como está.Santos,
Colei e fiz diversos testes e nenhum campo é Alterado.
// Alterar Usuario
if ( isset($_POST['alterar']) ) {
$id = $_POST['id_uii'];
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = !$_POST['data_inicio'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_inicio'])));
$data_termino = !$_POST['data_termino'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_termino'])));
$data_paralisacao = !$_POST['data_paralisacao'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_paralisacao'])));
$observacao= $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
$usuario->update($id);
}
?>
Santos,
O index.php tem:
//require_once 'classes/Usuarios.php';
function __autoload($class) {
require_once '../classes/' . $class . '.php';
Uma das classes tem uma chamada:
>
Citar
Usuarios.php
Que tem esse código:
<?php
//-------------------------------------------------------------
// PHP Data Objects (Objetos de Dados do PHP, em tradução livre)
// PDO é Orientado a Objetos
//-------------------------------------------------------------
// ============================================================
// Usuarios.php salvo em C:\wamp\www\phpoo\classes\Usuarios.php
//=============================================================
/**
* Description of Usuarios
*
* @author José Ivan
*/
require_once 'CrudUser.php';
class Usuarios extends CrudUser {
protected $tabela = 'tb_controleatividades';
public function findUnit($id) {
$sql = "SELECT * FROM $this->tabela WHERE id = :id";
$stm = DB::prepare($sql);
$stm->bindParam(':id', $id, PDO::PARAM_INT);
$stm->execute();
return $stm->fetch();
}
public function findAll() {
$sql = "SELECT * FROM $this->tabela ORDER BY nome_livro ASC";
$stm = DB::prepare($sql);
$stm->execute();
return $stm->fetchAll();
}
public function insert() {
$sql = "INSERT INTO $this->tabela (nome_atividade, nome_livro, nome_autor, nome_editora, quant_fl, fl_parei, data_inicio, data_termino, data_paralisacao, observacao\n"
. ") VALUES (:nome_atividade, :nome_livro, :nome_autor, :nome_editora, :quant_fl, :fl_parei, :data_inicio, :data_termino, :data_paralisacao\n"
. ", :observacao)";
$stm = DB::prepare($sql);
$stm->bindParam(':nome_atividade', $this->nome_atividade);
$stm->bindParam(':nome_livro', $this->nome_livro);
$stm->bindParam(':nome_autor', $this->nome_autor);
$stm->bindParam(':nome_editora', $this->nome_editora);
$stm->bindParam(':quant_fl', $this->quant_fl);
$stm->bindParam(':fl_parei', $this->fl_parei);
$stm->bindParam(':data_inicio', $this->data_inicio);
$stm->bindParam(':data_termino', $this->data_termino);
$stm->bindParam(':data_paralisacao', $this->data_paralisacao);
$stm->bindParam(':observacao', $this->observacao);
return $stm->execute();
}
public function update($id) {
$sql = "UPDATE $this->tabela SET nome_atividade = :nome_atividade, nome_livro = :nome_livro,\n"
."nome_autor = :nome_autor, nome_editora = :nome_editora, quant_fl = :quant_fl,\n"
."fl_parei = :fl_parei, data_inicio = :data_inicio, data_termino = :data_termino,\n"
."data_paralisacao = :data_paralisacao, observacao = :observacao WHERE id = :id";
$stm = DB::prepare($sql);
$stm->bindParam(':id', $this->id);
$stm->bindParam(':nome_atividade', $this->nome_atividade);
$stm->bindParam(':nome_livro', $this->nome_livro);
$stm->bindParam(':nome_autor', $this->nome_autor);
$stm->bindParam(':nome_editora', $this->nome_editora);
$stm->bindParam(':quant_fl', $this->quant_fl);
$stm->bindParam(':fl_parei', $this->fl_parei);
$stm->bindParam(':data_inicio', $this->data_inicio);
$stm->bindParam(':data_termino', $this->data_termino);
$stm->bindParam(':data_paralisacao', $this->data_paralisacao);
$stm->bindParam(':observacao', $this->observacao);
return $stm->execute();
}
public function delete($id) {
$sql = "DELETE FROM $this->tabela WHERE id = :id";
$stm = DB::prepare($sql);
$stm->bindParam(':id', $id, PDO::PARAM_INT);
return $stm->execute();
}
}
Aqui não tem que mexer em nada?>
21 minutos atrás, TeixeiraRamos disse:
Santos,
Colei e fiz diversos testes e nenhum campo é Alterado.
// Alterar Usuario
if ( isset($_POST['alterar']) ) {
$id = $_POST['id_uii'];
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = !$_POST['data_inicio'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_inicio'])));
$data_termino = !$_POST['data_termino'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_termino'])));
$data_paralisacao = !$_POST['data_paralisacao'] ? null : date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_paralisacao'])));
$observacao= $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
$usuario->update($id);
}
?>
Esse é o mesmo código que você postou acima, só alterei isso:
$data_inicio = !$_POST['data_inicio'] ? null :
date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_inicio'])));
$data_termino = !$_POST['data_termino'] ? null :
date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_termino'])));
$data_paralisacao = !$_POST['data_paralisacao'] ? null :
date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_paralisacao'])));Realmente, entendi.
Mas não altera nada.
tem que verificar, se está passando valores pro banco. dá um echo em cada variável ($_POST).
tem que verificar, se está passando valores pro banco
Não passa
dá um echo em cada variável ($_POST) - fiz dentro do php echo 'data_inicio";
**Não mostra nada.**>
1 minuto atrás, TeixeiraRamos disse:
tem que verificar, se está passando valores pro banco
Não passa
dá um echo em cada variável ($_POST) - fiz dentro do php echo 'data_inicio";
**Não mostra nada.**
então verifica o pq de não está passando, nome do campo etc...Vou verificar.
Santos,
Todos os campos do echo aqui são editados no form modal de Alterar:
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal
('<?php echo $value->nome_atividade;?>',
'<?php echo $value->nome_livro;?>',
'<?php echo $value->nome_autor;?>',
'<?php echo $value->nome_editora;?>',
'<?php echo $value->quant_fl;?>',
'<?php echo $value->fl_parei;?>',
'<?php echo $value->data_inicio;?>',
'<?php echo $value->data_termino;?>',
'<?php echo $value->data_paralisacao;?>',
'<?php echo $value->observacao;?>',
<?php echo $value->id;?>);">Alterar</button>
</td>
Porem isso não está funcionando.
// Alterar Usuario
if ( isset($_POST['alterar']) ) {
$id = $_POST['id_uii'];
$nome_atividade = $_POST['nome_atividade'];
$nome_livro = $_POST['nome_livro'];
$nome_autor = $_POST['nome_autor'];
$nome_editora = $_POST['nome_editora'];
$quant_fl = $_POST['quant_fl'];
$fl_parei = $_POST['fl_parei'];
$data_inicio = !$_POST['data_inicio'] ? NULL :
date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_inicio'])));
$data_termino = !$_POST['data_termino'] ? NULL :
date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_termino'])));
$data_paralisacao = !$_POST['data_paralisacao'] ? NULL :
date('Y-m-d', strtotime(str_replace('/', '-',$_POST['data_paralisacao'])));
$observacao= $_POST['observacao'];
$usuario->setNome_atividade($nome_atividade);
$usuario->setNome_livro($nome_livro);
$usuario->setNome_autor($nome_autor);
$usuario->setNome_editora($nome_editora);
$usuario->setQuant_fl($quant_fl);
$usuario->setFl_parei($fl_parei);
$usuario->setData_inicio($data_inicio);
$usuario->setData_termino($data_termino);
$usuario->setData_paralisacao($data_paralisacao);
$usuario->setObservacao($observacao);
$usuario->update($id);
}
?>Você está usando qual framework? acredito que o alterar seria assim:
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal('<?php echo $value->id;?>');">Alterar</button>
". " WHERE id_registros = :id";" onde está parâmetro o :id ?