Ir para conteúdo
Fórum Script Brasil

Norivan Oliveira

Veteranos
  • Total de itens

    2.001
  • Registro em

  • Última visita

Posts postados por Norivan Oliveira

  1. Moço porque você está criando a data e hora pra mandar pro BD? Não faz sentido nenhum você ter as colunas ", dataemprestimo, horaemprestimo". Bastaria uma coluna dataHoraEmprestimo do tipo Date Time e setar ela no cadastro com a data e hora atual instanciando a classe Date do Java Util

    setDataPedido(new Date());

    Na hora de mostrar na tela bastaria um sysout(x.getDataPedido) ou se você quiser mostrar separado é só usar o .split() para separar a data da hora.

  2. Se atente mais a sintaxe do Java, o que é método, o que é classe, o que é propriedade. A maioria dos problemas em seu código são de sintaxe basica, comentários no código:

    import java.util.Scanner;
    
    class Ex4 {
    
    	public static void main(String[] args) { // public static void main é um metodo e como tal deve ser aberto e fechado com { }
    
    		Scanner teclado = new Scanner(System.in);
    
    		Double km, d, vd, vkm, vt; // Vc não pode usar um Inteiro para definir
    									// um número que não é inteiro, como
    									// kilometragem.
    
    		System.out.print("Número de dias que o usuá¡rio ficou com o carro: ");
    
    		d = teclado.nextDouble();
    
    		System.out.print("Quilometragem rodada: ");
    
    		km = teclado.nextDouble();
    
    		vd = d * 45;
    
    		if (km > 60) {
    			vkm = (km - 60) * 0.5;
    		} // if deve ser fechado antes do else
    		else {
    			vkm = km * 0.5;
    		}
    
    		vt = vkm + vd;
    
    		System.out.println("O valor total é: " + vt);
    	} // vc deve fechar o public static void main
    } 
  3. Usando algum frameworks ele cria automático, por exemplo no YII para CRIAR UM GRID VOCÊ SÓ PAssa a tabela e as colunas quer quer exibir:

    <?php 
    
    $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'cidades',
    'dataProvider'=>$dataProvider,    
    'columns'=>array(
    'id',
    'nome',
    'uf',
    array(
    'class'=>'CButtonColumn',
    ),
    ),
    )); ?>

    mas se você não usar tem que criar o GRID na mão mesmo, normalmente quando agente não vai usar o framework cria uma classe para criar o grid genericamente, que servira para todas outras tabelas do bd.

  4. A melhor forma de se fazer transações com DB em PHP é usando o DOCTRINE, você mapeá as tabelas transformando em entidades e na hora que você salvar a entidade pai as filhas são comitadas automaticamente, porem se você quer fazer isto nativamente, uma forma mais rápida seria você criar um método saveAfter() a ser acessado após o cadastro na tabela principal.

    function saveOrUpdate (){
    try {
        $sth = $dbh->prepare('INSERT INTO tabela VALUES (?,?)');
        $sth->execute(array($this->dado1, $this->dado1));
        saveAfter($sth->fetch(PDO::FETCH_ASSOC)); // chama metodo passando a id do registro inserido na tabela pai
    } catch (Exception $e){
       echo 'faio';
    }
    }
    
    function saveAfter($idPai){
    // TODO: inserts nas tabelas filhas
    }

  5. Não tem porque não é usual usar esses trecos para desenvolver nem em PHP, nem em Java, se você quer usar o Eclipse, normalmente os frameworks usados já renderizam componentes HTML com estilos CSS pre-estabelecidos no template do projeto. Você só tem mesmo o trabalho de usar/criar um classe para redesenhar as templates incluído os seus formulários e demais conteúdos no meio delas. Você só mexe no Eclipse em front-end para criar algum javascript que um formulário seu precise, ou alterar/criar alguma classe CSS e etc, por isso não há a preocupação dos desenvolvedores do Eclipse em desenvolver ferramentas para manipulação visual.

    Mas se você quer realmente desenvolver seu front-end de forma visual dentro do eclipse é melhor você usar um plugin mais completo para front-end como o Aptana do que simplesmente baixar um plugin com paleta html ou usar o visual web editor do próprio eclipse.

  6. Baixa o eclipse com o PDT já embutido, instale tb o ZendServer para o debug funcionar melhor. Plugar PHP no pacote que já vem com JEE costuma deixar o eclipse lento.

    Além do mais você pode conter erros na configuração de um plugin que pode avacalhar seu desenvolvimento no outro plugin e vice e versa, já tive problemas de uma aplicação minha em JSF não subir nem a pau por causa de uma configuração do DEBUG do PHP. Enfim não é bom misturar os ambientes.

    http://www.zend.com/en/community/pdt/downloads

  7. Você pode manter o seu código, não está funcionando apenas porque você não está incluindo o mime type no cabecalho da mensagem pois errou o nome da variavel $header que você declarou. Apenas adicione o s no final da variável que irá funcionar.

    Caso mude o charset para ISO como o código do Luiz faz você deverá alterar também a codificação do arquivo que contém código fonte para ISO do contáriio seus acentos no corpo da mensagem poderão assumir caracteres "malucos".

  8. No seu comando SQL a sua condição deve abranger também os campos matricula e rg usando o operador OR. Também se faz interessante executar a validação dentro de uma callback antes de inserir novos registros na base de dados consultando se já existe algum aluno com dados semelhante.

    Exemplo tosco...

    <?php
    session_start ();
    
    if ($_SESSION ['dadosMemoria'] == null) // Se não existir dados na sessão cria a
                                            // sessão para armazenar os dados
        $_SESSION ['dadosMemoria'] = $_POST;
    
    extract ( $_SESSION ['dadosMemoria'] ); // Extrai dados da sessão
                                            
    // Conecta a base
    try {
        $pdo = new PDO ( 'mysql:host=localhost;dbname=alunos', 'usuarioDB', 'senhaDB' );
    } catch ( Exception $e ) {
        throw new Exception ( "Não popssível conectar a base. Detalhes: " . $e, E_USER_ERROR );
    }
    
    // Consulta banco em busca de dados semelhantes aos digitados
    $consulta = $pdo->query ( 'SELECT id FROM sua_tabela WHERE cpf = ' . $cpf . ' OR matricula = ' . $matricula . ' OR rg = ' . $rg );
    
    $cadastrar = true; // Flag auxiliar para limpar sessao se a decisão final for realmente cadastrar
    
    if ($forcarCadastro != "S") { // Verifica se usuário mandou forçar o cadastro
        if ($consulta->rowCount () > 0) { // Verifica se existe cadastro semelhante
                                          
            // Exibe mensagem notificadora e pergunta se deseja forçar o cadastro
            echo 'Já existe(m) cadastro(s) semelhante(s) a esse:';
            foreach ( $consulta as $resultado ) {
                echo '<br/>', $resultado ['nome'];
            }
            echo 'Deseja continuar? <form action="' . $_SERVER ['PHP_SELF'] . '"><input type="submit" name="forcarCadastro" value="S" /></form>';
            $cadastrar = false;
        }
    
    }
    
    if ($cadastrar == true) {
        try{
        $pdo->exec ( "INSERT INTO suta_tabela VALUES ({$matricula},{$rg},{$cpf})" );
        $_SESSION ['dadosMemoria'] == null; // limpa memoria
        } catch (Exception $e){
            throw new Exception ( "Não popssível inserir na base. Detalhes: " . $e, E_USER_ERROR );
        }
    }

  9. Não recomendo o uso de FDP para relatórios, para relatórios use o JasperReports que já é padrão de mercado não só em PHP mas também em outras linguagens.

    O mesmo trabalha em cima de arquivos xml gerados por programas como o ireports, dessa forma qualquer um com conhecimento em SQL depois pode fazer um novo relatório ou alterar seus relatórios sem mexer no seu código fonte, usando um editor visual de relatórios.

    http://imasters.com.br/artigo/15736/php/us...orios_para_php/

×
×
  • Criar Novo...