Ir para conteúdo
Fórum Script Brasil

Pompeu

Membros
  • Total de itens

    136
  • Registro em

  • Última visita

Posts postados por Pompeu

  1. Obrigado pela resposta Denis,

    O problema é que o campo string está com o id nesse formato "CT-0001" então não conseguiria fazer a troca de Str pra Int, mas consegui resolver amigo, pesquisei sobre SPs (Stored Procedures) e fiz da seguinte forma:

    DELIMITER $$
    
    DROP PROCEDURE IF EXISTS `sp_update_id_contabilidade` $$
    CREATE DEFINER=`localhost`@`%` PROCEDURE `sp_update_id_contabilidade`()
    BEGIN
      	DECLARE v_id VARCHAR(10);
      	DECLARE v_id_novo INTEGER;
    
    		DECLARE contab_eof INTEGER DEFAULT 0;
    		DECLARE cur_contab CURSOR FOR
      		SELECT id, id_novo
      		FROM contabilidade
      		ORDER BY id ASC;
    
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET contab_eof = 1;
    
        OPEN cur_contab;
    		FETCH cur_contab INTO v_id, v_id_novo;
        WHILE NOT contab_eof DO
    
      		UPDATE contabilidade_rc SET idregistro_novo = v_id_novo WHERE idregistro = v_id;
      		FETCH cur_contab INTO v_id, v_id_novo;
        END WHILE;
    
      	CLOSE cur_contab;
    
      END $$
    
    DELIMITER ;

     

    Não sei se é a maneira correta, inclusive se puder me orientar se tiver alguma forma mais correta eu agradeço.

     

  2. Olá a todos,

    Preciso criar um update em duas tabelas, tabela 1 possui campo id chave primária, tabela 2 possui campo id_tabela1 com vários registros, seria 1 pra +, preciso alterar o campo id das duas que hj é string para int, porém não posso perder as relações, a ideia seria criar um campo a mais nas duas tabelas e correr o banco fazendo os lançamentos nesses campos porém como disse sem perder a relação, ex:

     

    1 - ponteiro no primeiro registro da tabela 1, eu gravo o numero 1 (que é int) no campo novo

    2 - pesquiso a tabela 2 comparando o campo string da tabela 1 e gravo o valor int da tabela 1 no resultado da tabela 2 que pode ser mais de um registro porém com o mesmo id, seria pai e filhos (no campo novo)

    3 - passo o ponteiro da tabela 1 para o próximo registro fazendo o procedimento 1

    4 - repito o procedimento 2

    e assim por diante, depois pensei em excluir o campo string das duas tabelas e passar a usar só o campo int, ou se alguém tiver uma lógica mais coerente aceito de boa

     

    Seria isso, não sei se expliquei bem, estou com um pouco de urgência, se alguém puder ajudar ficaria muito grato.

    Obrigado gente

  3. Olá a todos,

    Tenho um sistema feito em codeigniter, caso queiram ver pra melhor entendimento acessem:

    claranet.com.br/sgi3

    usuario: admin@admin.com

    senha: 123456

    No menu, cliquem em cadastro depois líderes, nessa tela aparece todos os cadastros e junto aparece a paginação, façam um teste, antes de clicar em algum link da paginação cliquem em novo usuário ou editar ou excluir, verão que os modais aparecem normalmente, porém, depois que clicar em algum link da paginação os botões não funcionam mais, eles funcionam apenas do endereço do controller sgi3/lideres

    Esse é o meu problema, onde eu errei e como posso consertar ?

    Agradeço desde já

  4. Olá,

    Vou tentar explicar qual é meu problema,

    No CI, existem os controladores e views certo ? tenho uma página de login e uma pagina principal, login padrão, se o cara digitar o usuário e senha corretos ele acessa a página principal, caso contrário ele volta pra tela de login, até aí tudo bem, ou seja, se ele digitar usuário ou senha incorretos, meu controlador(login) verifica e volta ele para a view (v_login), aí vai o problema:

    Como eu faço para meu controlador(login) enviar através de uma variável um erro dizendo para a view(v_login) que o usuário digitou os dados incorretos ?

    Parece simples mas não consegui achar em nenhum lugar, já que os métodos GET e POST são usados apenas em formulários e meu controlador não tem um form, é apenas código.

    Outra coisa, não queria usar session, pois se eu usar, quando o usuário acessar pela primeira vez o sistema ele já vai receber a mensagem de erro de dados incorretos sem ter digitado nada.

    Agradeço antecipadamente ^^

  5. Bom dia pessoal,

    Acabei refazendo o login e tela principal, deu certo, bom voltando ao meu comentário, disse que sou novo em php mas já programo a 20 anos em Delphi, confesso que não gostei desse erro apresentado e a princípio sem solução, mal comecei e já me deparo com um simples problema em css, e ao meu ver, se trata de incompatibilidade de linguagens e navegadores, perdi 3 dias pra resolver um simples problema e não consegui, mas tudo bem, é apenas minha visão, espero que eu esteja enganado, pois não migrei pra web ainda devido a isso ^^.

    Obrigado pela ajuda ^^

    Abraços

  6. Segue: usuario.php

    <?php
    class Usuario {
    private $id = null;
    private $nome = null;
    private $email = null;
    private $senha = null;
    public function getId() {
    return $this->id;
    }
    public function getNome() {
    return $this->nome;
    }
    public function getEmail() {
    return $this->email;
    }
    public function getSenha() {
    return $this->senha;
    }
    public function setId($id) {
    $this->id = $id;
    }
    public function setNome($nome) {
    $this->nome = $nome;
    }
    public function setEmail($email) {
    $this->email = $email;
    }
    public function setSenha($senha) {
    $this->senha = $senha;
    }
    }
    ?>
    SESSÃO.PHP
    <?php
    class Sessao {
    private static $instancia = array();
    /**
    *
    * @return Session
    */
    public static function instanciar() {
    if (self::$instancia =! null) {
    self::$instancia = new Sessao();
    }
    return self::$instancia;
    }
    public function set($chave, $valor) {
    session_start();
    $_SESSION[$chave] = $valor;
    session_write_close();
    }
    public function get($chave) {
    session_start();
    $value = $_SESSION[$chave];
    session_write_close();
    return $value;
    }
    public function existe($chave) {
    session_start();
    if (isset($_SESSION[$chave]) && (!empty($_SESSION[$chave]))) {
    session_write_close();
    return true;
    }
    else {
    session_write_close();
    return false;
    }
    }
    }
    ?>
    AUTENTICADOR.PHP
    <?php
    class Sessao {
    private static $instancia = array();
    /**
    *
    * @return Session
    */
    public static function instanciar() {
    if (self::$instancia =! null) {
    self::$instancia = new Sessao();
    }
    return self::$instancia;
    }
    public function set($chave, $valor) {
    session_start();
    $_SESSION[$chave] = $valor;
    session_write_close();
    }
    public function get($chave) {
    session_start();
    $value = $_SESSION[$chave];
    session_write_close();
    return $value;
    }
    public function existe($chave) {
    session_start();
    if (isset($_SESSION[$chave]) && (!empty($_SESSION[$chave]))) {
    session_write_close();
    return true;
    }
    else {
    session_write_close();
    return false;
    }
    }
    }
    ?>
  7. Segue código:

    <?php
    require_once 'usuario.php';
    require_once 'sessao.php';
    require_once 'autenticador.php';
    $aut = Autenticador::instanciar();
    $usuario = null;
    if ($aut->esta_logado()) {
    $usuario = $aut->pegar_usuario();
    }
    else {
    $aut->expulsar();
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <link rel="stylesheet" href="css/menu_principal.css"></link>
    <head>
    <meta charset="UTF-8">
    <title>Pagina interna</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <div id="cabecalho">
    <?php include('menu_principal/botoes.php'); ?>
    <p><a href="controle.php?acao=sair">Sair</a></p>
    </div>
    </body>
    </html>
  8. Bom dia a todos,

    Estou desenvolvendo um sistema em php e criei uma tela de menu principal onde é composta por barra de titulo, botoes e rodape, meu problema, a barra de titulo (cabeçalho) não fica exatamente em top 0px, exemplo da barra preta aqui do escriptbrasil onde se localiza no topo e do lado direito o nome de usuario e o botão sair, minha barra é como se estivesse com um ENTER, um espaço, reparei que se eu tiro o codigo em php ele fica certo, já abri no notepad++ e apliquei sem BOM mas não adiantou. alguém poderia me ajudar ?

    Obrigado

  9. Acho que entendi o que quer fazer, você provavelmente está armazenando várias informações no campo id_alimento, deve estar assim:

    id_alimento = 8 9 10

    E NÃO ASSIM

    id_alimento = 8

    id_alimento = 9

    id_alimento = 10

    NÃO É ISSO ?

    Nesse caso acho que poderia usar o comando LIKE %8 9 10% que busca parte do texto. Qual é o tipo do campo ? tipo CHAR, VARCHAR, INT, etc.

    SUGESTÃO:

    porque não cria uma outra tabela e armazena cada ingrediente em um campo ? ou cria um campo pra cada ingrediente na mesma tabela.

  10. SELECT id_alimento FROM tabela WHERE (id_ingredientes = 8 OR id_ingredientes = 9 OR id_ingredientes = 10)
    GROUP BY id_alimento

    Também não cara, esse me retorna TODOS que tiveram qualquer um dos ingredientes listados ali, eu preciso um que retorno o alimento que tem SOMENTE esses 3 ingredientes 8,9,10!

    Nessa query se eu trocar OR por AND ele me retorna vazio..

    Mas obrigado desde já!

    Fico no aguardo de uma solução..

    Tire o "Group By id_alimento", testei o SELECT acima e funcionou, só uma dúvida, por acaso você queria que retornasse o total de ingredientes pra fazer uma compra por exemplo ?

  11. Olá a todos ...

    Alguém poderia me ajudar com um relatório / Consulta ?

    Pelo Delphi eu faço tranquilamente mas gostaria que esse relatório rodasse no próprio banco (Stored Procedure).

    O relatório consiste em pegar o período selecionado e apresentar o saldo anterior daquele dia, valor de entrada ou saída e o saldo atual, isso seria por plano de conta, ex:

    LEMBRANDO QUE EU SÓ TENHO OS VALORES DE ENTRADA E SAÍDA ARMAZENADOS, EU TERIA QUE CALCULAR O SALDO ANTERIOR E ATUAL.

    1 - Ativo

    1.1 Banco do Brasil – saldo anterior 100,00 – valor entrada 50,00 – valor saída 0,00 – saldo atual 150,00

    1.2 Gastos com Piscina - saldo anterior 150,00 – valor entrada 0,00 – valor saída 20,00 – saldo atual 130,00

    RESUMO

    2 - Realizável

    2.1 Banco Itaú – saldo anterior 300,00 – valor entrada 50,00 – valor saída 0,00 – saldo atual 350,00

    2.2 Gastos com Funcionários - saldo anterior 350,00 – valor entrada 0,00 – valor saída 200,00 – saldo atual 150,00

    RESUMO

    Etc

    Eu trabalho com duas tabelas que chamo de Pai e Filho, estão interligadas por chave primária através do código do Pai que é armazenado no Filho.

    Como eu poderia fazer isso em SQL ? Se puderem me ajudar eu agradeço.

    Abraço.

  12. Olá a todos,

    Como eu poderia fazer uma atualização em todos os valores de uma tabela somando 15% aos valores.

    Ex: eu preciso pegar todos os registros com valor <= 5 e adicionar 15% a esses valores.

    Eu preciso criar uma procedure ? como seria essa procedure ?

    Tem como fazer sem procedure ? como seria o comando SQL ?

    Obrigado amigos

    Obs: Entendo bem de MySQL e estou começando agora com SQL Server e tem algumas diferenças.

  13. Saudações aos amigos ...

    Como eu tiro o botão PAUSE desse código ?

    // JavaScript Document
    // painel rotativo //
    var d=document;
    $ = function(id) {
        if(!arguments[1]) return document.getElementById(id);
        else document.getElementById(id).style[arguments[1]]=arguments[2];
    }
    
    function delItem(arr,item){
    for(;item<arr.length;item++) arr[item]=arr[item + 1];
    arr.length=arr.length-1;
    } function goURL(){
    (Item[atual][3].indexOf('_blank')!=-1) ? window.open(Item[atual][3].substring(0,Item[atual][3].indexOf(' '))) : location.href=Item[atual][3];
    } function startSlide(){ 
    loadImages();
    if(!paused) timeoutId=setTimeout('changeImg(1)',6000);
    } function initialize(){
    timeoutId=0;
    textareaContent=d.form_cr.select_cr.value.split(/[\r\n]/i);
    Item = new Array();
    for(x=0,y=0;x<textareaContent.length;x++){ 
        if(textareaContent[x].length>30) Item[y++]=textareaContent[x].split('|');
        }
    for(i=Item.length-1;i>=0;i--){
        Item[i][0]=Item[i][0].replace(/([ \n\t\r])+/, " ");
        Item[i][4]=(Item[i][4].length<3) ? '' : '<img src="'+Item[i][4]+'" border="0" style="margin-left:4px;" />';
        if(Item[i][1].length<3||Item[i][3].length<3||Item[i][2].length<3||Item[i][0].length<2) delItem(Item,i);
        }
    if(Item.length==1) d.write('<style>#anterior,#proximo,#pause{visibility:hidden;}</style>');
    atual = Math.random().toString().substring(2,6) % Item.length;
    } function startPanel(){
    usaCredito = '';
    initialize();
    if(arguments.length>0){
        if(!isNaN(arguments[0])) atual = arguments[0];
        }
    if(paused) {imgpause='on'; altpause='alt="Ligar" title="Ligar"';}
    else {imgpause='off'; altpause='alt="Parar" title="Parar"';}
    d.write('<div id="to-blend">'+usaCredito+'<a href="java script:goURL()"><img src="'+Item[atual][1]+'" id="imgslide" name="img1" border="0" title="'+Item[atual][0]+'" alt="'+Item[atual][0]+'"></a>');
    d.write('<h2><a href="java script:goURL()" style="text-decoration:none;" id="p-link"><span id="txt1">'+Item[atual][2]+'</span><span id="icon-area">'+Item[atual][4]+'</span></a></h2></div>');
    d.write('<div id="prox-ant"><a href="java script:void(0)" style="text-decoration:none;" id="anterior" onclick="if(okToGo)changeImg(-1)"><img src="banner_noticias_index/imagens/anterior.jpg" border="0" /></a><img src="banner_noticias_index/imagens/pause.jpg" onclick="pauseSlide()" id="pause" '+altpause+' />');
    d.write('<a href="java script:void(0)" style="text-decoration:none;" id="proximo" onclick="if(okToGo)changeImg(1)"><img src="banner_noticias_index/imagens/proximo.jpg" border="0" /></a></div>');
    } 
    
    function pauseSlide(){
    if(paused){
        $('pause').src='banner_noticias_index/imagens/pause.jpg';
        $('pause').title='Parar'; $('pause').alt = 'Parar';
        d.cookie="homeUOLpause=0;domain=.uol.com.br;expires=Thu, 2 Aug 1970 20:47:11 UTC;";         
        paused=false;
        startSlide();
    }else{
        clearTimeout(timeoutId);
        d.cookie="homeUOLpause=1;domain=.uol.com.br;expires=Thu, 2 Aug 2222 20:47:11 UTC;";     
        $('pause').src='banner_noticias_index/imagens/pause1.jpg';
        $('pause').title='Ligar'; $('pause').alt = 'Ligar';
        paused = true;
    } }
    
    var okToGo=false;
    var paused=(d.cookie.indexOf('homeUOLpause=1')!=-1) ? true : false;
    
    function changeOpac(opacity){
    var obj = $('to-blend').style;
    obj.opacity=(opacity/101);
    obj.MozOpacity=(opacity/101);
    obj.KhtmlOpacity=(opacity/101);
    } function blend(imagefile){
    var speed=7;
    var timer=0;
    for(i=100;i>0;i-=2) setTimeout('changeOpac('+i+')', timer++ * speed);
    setTimeout('changeContent()', timer * speed);
    for(i=0;i<=100;i+=2) setTimeout('changeOpac('+i+')', timer++ * speed);
    } function changeImg(id){
    clearTimeout(timeoutId);
    atual+=parseInt(id);
    if(atual>Item.length-1) atual=0;
    if(atual<0) atual=Item.length-1;
    if(imgDsp[atual].complete==false){
        atual--;
        timeoutId = setTimeout('changeImg('+id+')',500);
        return;
        } 
    if(d.all && navigator.userAgent.indexOf('Opera')==-1){
        try {
        oDiv = $('to-blend');
        oDiv.style.filter="blendTrans(duration=0.7)";
           oDiv.filters.blendTrans.apply();
        oDiv.filters.blendTrans.play();
        changeContent();
        } catch(e) { changeContent(); }
    } else { blend(); }
    if(!paused) timeoutId=setTimeout('changeImg(1)',6000);
    } function loadImages(){
    imgDsp = new Array();
    for(n=0;n<Item.length;n++){
        imgDsp[n]=new Image();
        imgDsp[n].src=Item[n][1];
        }
    okToGo = true;
    } function changeContent(){
    d.img1.src=imgDsp[atual].src;
    d.img1.alt=d.img1.title=Item[atual][0];
    $('txt1').innerHTML=Item[atual][2];
    if(usaCredito!='') $('credito').innerHTML=Item[atual][0];
    $('icon-area').innerHTML=Item[atual][4];
    }
    Obrigado Amigos ... consegui ! segue código para visualização
    d.write('<div id="prox-ant"><a href="java script:void(0)" style="text-decoration:none;" id="anterior" onclick="if(okToGo)changeImg(-1)"><img src="banner_noticias_index/imagens/anterior.jpg" border="0" /></a>');/*<img src="banner_noticias_index/imagens/pause.jpg" onclick="pauseSlide()" id="pause" '+altpause+' />');*/

    Abraço

  14. Olá amigos do Fórum ...

    Gostaria de saber se alguém poderia me ajudar a criar uma rotina no DB que verifique o saldo financeiro do dia, exemplo, eu digito a data inicial e data final, dentro desse período a rotina tem q me dar o saldo, para isso eu tenho q pegar os valores de crédito e débito deste o primeiro lançamento e vir fazendo a conta até a data inicial, após eu armazeno em uma variável e faço novamente a verificação até a data final, assim conseguindo chegar no saldo positivo ou negativo.

    Se alguém tiver alguma rotina pronta também ajudaria bastante pra eu ter uma idéia de como fazer.

    Agradeço antecipadamente.

  15. Segue estrutura da tabela

    -- phpMyAdmin SQL Dump
    -- version 3.2.4
    -- http://www.phpmyadmin.net
    --
    -- Servidor: localhost
    -- Tempo de Geração: Ago 05, 2010 as 04:08 PM
    -- Versão do Servidor: 5.0.91
    -- Versão do PHP: 5.2.9
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    
    --
    -- Banco de Dados: `clubedec_ccsa`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Estrutura da tabela `contabilidade`
    --
    
    CREATE TABLE IF NOT EXISTS `contabilidade` (
      `ID` varchar(7) NOT NULL,
      `CODIGO` int(11) NOT NULL,
      `ANO` varchar(4) default NULL,
      `MESREF` int(11) default NULL,
      `E_S` varchar(7) default NULL,
      `IDCLIENTE` varchar(7) default NULL,
      `NOME` varchar(50) default NULL,
      `NDOC` varchar(20) default NULL,
      `NOSSO_NUMERO` varchar(20) default NULL,
      `STATUS` varchar(7) default 'ABERTO',
      `VALOR` double default NULL,
      `LANCAMENTO` date default NULL,
      `VENCIMENTO` date default NULL,
      `PC_NIVEL1` int(11) default NULL,
      `PC_NIVEL2` int(11) default NULL,
      `PC_NIVEL3` varchar(3) default NULL,
      `PLANOCONTAS` varchar(35) default NULL,
      `OBS` varchar(30) default NULL,
      `FORMAPGTO` varchar(17) default NULL,
      `NREGISTRO` varchar(10) default NULL,
      `LOCAL` varchar(5) default NULL,
      `NCHEQUE` varchar(10) default NULL,
      `DATAPGTO` date default NULL,
      `DESCONTO` double default NULL,
      `JUROS` double default NULL,
      `TOTALPAGO` double default NULL,
      `HISTORICO` varchar(40) default NULL,
      `TIPOSOCIO` varchar(25) default NULL,
      `IDFATURAMENTO` int(11) default NULL,
      `pc_nivel1_bx` int(11) default NULL,
      `pc_nivel2_bx` int(11) default NULL,
      `pc_nivel3_bx` varchar(3) default NULL,
      `planocontas_bx` varchar(35) default NULL,
      PRIMARY KEY  (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Os campos são LANCAMENTO e VENCIMENTO

    Obrigado Denys

×
×
  • Criar Novo...