Ir para conteúdo
TeixeiraRamos

Erro em Alterar registros no Form

Recommended Posts

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 ( ) ...\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">&times;</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">&times;</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> 
<!--Fernando C do forum descobriu erro no nome da função -->                                                               
                        </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">&times;</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:

 

<?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_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.

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

  1. 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;
  2. Originalmente no formulário de estudo tinha em cada campo, no  "input", "required value=" ", retirei, mas continua me cobrando o preenchimento.
  3. No banco de dados desabilitei o "Nulo", mas continua no form me obrigando a preencher;
  4. 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">&times;</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">&times;</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">&times;</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.

 

 

 

 

 

image.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.  

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
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?

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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:

  1.  Só deixei o campo “nome_livro” como required value="" no form e mantive habilitado o campo "Nul" no phpMyAdmin e;
  2. desabilitei no phpMyAdmin a opção "Nul" na estrutura de todos os campos "varchar";
  3. 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?;
  4. Para testar transformei, mesmo achando que estava errando, os campos "date" em "varchar".
  5. Resolveu? Sim, o formulário "Cadastrar" agora aceita deixar os campos sem em branco, até campo data, nada exceto "nome_livro";
  6. 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"?
  7. 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

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

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);

Compartilhar este post


Link para o post
Compartilhar em outros sites

 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'])));

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Santos Boa Noite!

Vou fazer tudo conforme você sugeriu.

Volto para informar.

Muito obrigado por tudo. Que paciência! Que Deus de ajude sempre.

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Santos Boa Noite a você e a todos do forum,

A estrutura do bando ficou assim:

 

Citar

image.thumb.png.706d983a906016709d6061bcb7889d64.png

 

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

image.thumb.png.89e267740618dec3d3088591dfe44919.png

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 

image.thumb.png.b4c65a40ac59ff10c6d4ee7745392995.png

 

 

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.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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">&times;</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">&times;</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">&times;</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">&times;</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:

  1.  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);
  2. 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;
  3. Creio que a parte de cadastramento está correto o IF que você pediu é que estou pedido

 

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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á.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
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'])));

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por jaquelss
      Estava fazendo download de coisas que uso no trabalho, mas parece que esqueci de algo. Sempre dá esse erro, mas tecnicamente parece que tá tudo ok?
      Eu esqueci algum programa ou algo do código em si?
      Agradeço desde já.
    • Por isaque_cb2
      Olá galera, eu estou trabalhando em um site pessoal, mais para aprendizado mesmo, mas me deparei com um erro, quando eu abro o site no navegador (PC) funciona normal, mas quando abro no celular, a imagem dica pequena e no topo, alguém pode me ajudar com isso?
      print 1: (modo mobile do inspecionar)

      no PC fica normal, repare a área cinza abaixo da imagem, toda essa área devia ser coberta pela imagem, grato!
      http://prntscr.com/mvj3ed
       
      Grato desde já!
    • Por explosivemineyt
      Bom dia,
      Eu encontro-me a tentar realizar um formulário login do tipo google, mas apesar de estar a funcionar, por vezes quando recarrego a pagina aparece assim e tenho que carregar na pagina ou no campo ou outro local qualquer para atualizar.
       
      Gostaria de conseguir corrijir mas apesar de pesquisar não encontro como corrijir.
       
      o meu código html: 
      Meu código css: 
      Meu bootstrap.css(ficheiro muito grande, posso disponibilizar por um drive ou algo do genero) bootstrap versão v4.0.0
       




    • Por Andersonografia
      Gostaria de agradecer o topico do Tonga (topic/436039-resolvido refresh/) pois me esclareceu a criar um método prático para certificar se o form vem do botão ou do F5.
      Vou esclarecer também que só tenho essa necessidade quando o primeiro form do documento é um input, porque na maioria dos meus casos sempre é um search.  
       
      No Value do botão eu coloco o time:
      <button type="submit" name="carga" class="button" value="<?PHP echo $time;?>"> Coloco a condição se estiver setado e se for diferente da sessão:
      if(isset($_POST['carga'])) { $compara = ($_POST['carga']); if($compara != $_SESSION['compara']) { E depois do insert, ainda dentro da condição eu gravo a variável na sessão:
      $_SESSION['compara'] = $compara; Obrigado mais uma vez ao Tonga e ao Forum. Se alguém souber de um método mais prático, por gentileza será muito útil divulgar!!!!
    • Por nilo7004b
      Ola pessoal, sou novo aqui no fórum e desculpem qualquer erro, já procurei bastante pelo meu problema e não consegui encontrar nada a respeito. O meu problema é que eu estou desenvolvendo uma pagina web e após definir o background como um gradiente e adicionar divs aparecem umas manchas brancas pela pagina que vão alterando de posição a medida em que vai fazendo scroll na pagina, na imagem anexada tem o exemplo, gostaria de saber qual a origem do problema e como resolver. Desde já agradeço pela ajuda.
      Obs.: as DIVs adicionadas não estão com a cor de background definida.
       




×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.