Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

  • Conteúdo Similar

    • Por luiz monteiro
      Bom dia!
       
      A questão é a seguinte, tenho o seguinte form 
       
      <form onsubmit="return false;" action="./busca.php" method="post" name="buscar" id="buscar">
       
                 <input type="text" name="texto">
       
                <button>Executa</button>
       
      </form>
       
      Que está funcionando perfeitamente com a seguinte estrutura do script abaixo
       
        var form = document.getElementById('buscar');
       
        form.addEventListener('submit', function(e)
        {
            e.preventDefault();
       });
       
       
      O que preciso, é saber como submeter esse mesmo formulário ao clicar em button fora do form sem modificar esse script?
       
      <button id="fora_do_form">Submeter o form</button>
       
       
      Agradeço desde já!
       
       
    • Por Wilherme
      Boa tarde galera, preciso de uma ajuda,
       
      Tenho um gráfico no meu Power Bi porem apresenta o erro abaixo:
       

       
      já habilitei as funções porém ainda com erro.
       
       
      Obrigado.
    • Por 4Unknow
      Bom dia comunidade Imasters.

      Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
      Quando clico em enviar ele me enviar para um arquivo .php  (assets/vendor/simple-forms/sendmail.php)

      Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
      Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.
       
      Link Website (wetransfer.com)
    • Por Algorithm
      Olá a todos
       
      Eu estou codificando um exemplo de uso do GraphQL com Nodejs, mas eu estou recebendo um erro de syntax relacionado a [ : ] [ Dois Pontos ], mas eu comparei meu codigo, com o da documentação oficial e esta tudo certo. Será que alguem, conseguiria achar o erro ?
       
      OBS: Esta incluso neste post [ Exemplo Documentação, Meu Exemplo, Mensagem de Erro, Código Completo ]
       
      Exemplo Documentação
      module.exports = /* GraphQL */ ` type Client { id: ID! name: String age: Int products: [Product] } type Query { clients: [Client] client(id: ID!): Client } type Mutation { addClient(name: String!, age: Int!): Client } `  
      Meu Exemplo
      const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `;  
      Mensagem de Erro
      C:\Users\Core\node\node_modules\graphql\language\parser.js:1413 throw (0, _syntaxError.syntaxError)( ^ GraphQLError: Syntax Error: Expected ":", found Name "Pessoa". at syntaxError (C:\Users\Core\node\node_modules\graphql\error\syntaxError.js:15:10) at Parser.expectToken (C:\Users\Core\node\node_modules\graphql\language\parser.js:1413:40) at Parser.parseFieldDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:847:10) at Parser.optionalMany (C:\Users\Core\node\node_modules\graphql\language\parser.js:1510:28) at Parser.parseFieldsDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:831:17) at Parser.parseObjectTypeDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:803:25) at Parser.parseDefinition (C:\Users\Core\node\node_modules\node_modules\graphql\language\phql\language\parser.js:171:23) at Parser.many (C:\Users\Core\node\node_modules\graphql\language\parser.js:1529:26) at Parser.parseDocument (C:\Users\Core\node\node_modules\graphql\language\parser.js:121:25) at parse (C:\Users\Core\node\node_modules\graphql\language\parser.js:32:17) { path: undefined, locations: [ { line: 26, column: 57 } ], extensions: [Object: null prototype] {} }  
      Codigo Completo
      // Requires const express = require('express'); const GraphQL_HTTP = require('express-graphql'); const { mergeSchemas } = require('@graphql-tools/schema'); // Run // const connect = MongoClient.connect(''); const app = express(); const getCode = () => { return 10 }; // GraphQL Definitions || Query and Mutation const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `; // Functions const resolvers = { Query: { resposta: function() { return `GraphQL Conectado com Sucesso...`; }, saudacao: function(_, args) { return `Olá ${args.nome}! Seja Muito Bem Vindo(a) a GraphQL!!!! ` }, findPessoaOne: function(_, args) { return db.collection('GraphQL-Pessoa').findOne({codigo: args.codigo}) .then((result) => { return result; }); }, findPessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).find(args.input).toArray() .then((result) => { return result; }); }, Mutation: { insertPessoa: function(_, args) { args.input.codigo = getCode(); return db.collection(`GraphQL-Pessoa`).insertOne(args.input) .then((result) => { return result.ops[0]; }); }, updatePessoa: function(_, args) { return db.collection('GraphQL-Pessoa').updateOne({codigo: args.codigo}, {$set: args.input}) .then((result) => { if(result.result.n > 0) return `Registro Alterado com Sucesso!`; else return `Ocorreu um erro ao alterar o registro`; }); }, deletePessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).deleteOne({codigo: args.codigo}) .then((result) => { if(result.result.n > 0) return `Registro Deletado com Sucesso!`; else return `Ocorreu um erro ao deletar o registro`; }); } } } }; const schema = mergeSchemas({ typeDefs: typeDefs, resolvers: resolvers }) // Listen app.listen(3005, () => { console.log(`Servidor Rodando na Porta 3005`); })  
       
      Obrigado
    • Por GOD
      Quero pegar o dado:
      CHEGADA e SAÍDA do form 1 e colocar para ser exibido no campo;
      DATAS DA ESTADIA no form 2.
      e
      ADULTO E CRIANÇA também do form 1 para o form 2
      Como faço isso sem utilizar banco de dado. Se possível somente com html, css. E se não for possível pode entrar o Javascript ou como possível for. 
       
      Desde já agradeço. 
       
       
      Form 1
       
       
      <!DOCTYPE html> <html> <head> <!---------------------------------- FORMULARIO 1 ------------------------------------------------> <form class="reserva-form" action="" method="post"> <fieldset class="fiesdeset"> <div class="reserva-form-chegada"> <label class="reserva-form-chegada-label">Chegada ↴</label> <br /> <input type="date" /> </div> <div class="reserva-form-saida"> <label class="reserva-form-saida-label">Saida ↴</label> <br /> <input type="date" /> </div> <div class="reserva-form-adulto"> <label class="inicio" style="margin: 0">Adultos</label> <select name="ad" id="adultos"> <option value="1" selected="">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </div> <div class="reserva-form-crianca"> <label class="inicio" style="margin: 0">Crianças</label> <select name="ch" id="nCrianca"> <option value="0" selected="selected">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> <div class="reserva-form-pesquisar"> <button type="submit" class="botao-pesquisar type=" submit" id="bt-pesquisa" data-enabled="enabled"> Pesquisar </button> </div> <div class="reserva-form-check-in"> <a href="form-cadastro.html" class="botao-checkin" target="_blank">Pré-checkin</a> </div> </fieldset> </form> </body> </html>  
       
      Form 2
       
       
      <!DOCTYPE html> <html> <head> <!------------------------------ FORMULARIO 2 ---------------------------------------------------> <form class="reserva-form" action="" method="post"> <fieldset class="fiesdeset"> <div class="reserva-form-estadia"> <label class="reserva-form-estadia-label">DATAS DA ESTADIA ↴</label> <br /> <input type="text" name="estadia" value="10/06/2022 - 10/07/2022" /> </div> <div class="reserva-form-quarto"> <label class="reserva-form-quarto-label">   QUARTOS E HÓSPEDES ↴</label> <br> <label class="inicio">  Nº de Quartos</label> <select name="ad" id="quarto"> <option value="1" selected="">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </div> <div class="reserva-form-adulto"> <label class="inicio">Adultos</label> <select name="ad" id="adultos"> <option value="1" selected="">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </div> <div class="reserva-form-crianca"> <label class="inicio" style="margin: 0">Crianças</label> <select name="ch" id="nCrianca"> <option value="0" selected="selected">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> <div class="reserva-form-crianca"> <label class="inicio">&nbsp Nº de Crianças 0 aos 12 Anos</label> <select name="ch" id="nCrianca"> <option value="0" selected="selected">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> </div> <div class="reserva-form-pesquisar"> <button type="submit" class="botao-pesquisar type=" submit" id="bt-pesquisa" data-enabled="enabled"> Buscar </button> </div> </fieldset> </form> </body> </html>  
×

Informação importante

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