Ir para conteúdo
Fórum Script Brasil

Mario Junior

Membros
  • Total de itens

    163
  • Registro em

  • Última visita

Posts postados por Mario Junior

  1. Boa tarde.

    Estou com a seguinte dúvida:

    Tenho uma variavel com o seguinte conteúdo:

    $var='1-1-2-2';

    Eu pretendo quebrar esta variavel em array usando o explode('-',$var);

    Tem como eu verificar quantas vezes o numero 1 aparece e quantas vezes o numero 2 aparece?

    Desde já, agradeço.

  2. O comando Header não pode ser usado à qualquer hora..

    Já que você está usando o o Header, deve estar dando este erro " Cannot modify header..."

    Neste caso, não use o header...adapta javascript pra redirecionar..

    echo "<script type=\"text/javascript\"> window.location='pagina.php?valor=numero';</script>";

    O que você acha?

  3. Primeiramente, os rádios deveme star dentro de um form

    <form action="inserir.php" method="POST">
    <table width="100%" align="center">
           <tr>
             <td><label>
               <input type="radio" name="ativo" value="1" onclick="ativar()"/>
               Ativar</label></td>
           </tr>
           <tr>
             <td><label>
               <input type="radio" name="ativo" value="0" onclick="ativar()" checked="checked"/>
               Desativar</label></td>
           </tr>
        </table>
    </form>
    inserir.php
    $radio=$_POST['ativo'];
    $inserir="insert into tabela (valor) values($radio)";

  4. Antes de mais nada, você deve calcular quantos dias se passaram até a data atual, quando deverá ocorrer o insert.

    Vou deixar aqui duas funções de data para te auxiliar:

    <?
    /*********************************************************************************
    - Date operations by André Cupini
    - Sum or subtract day, months or years from any date
    - Ex:
    require_once("class_dt.php");
    $dt = new DT;
    $date = $dt->operations("06/01/2003", "sum", "day", "4")   // Return 10/01/2003
    $date = $dt->operations("06/01/2003", "sub", "day", "4")   // Return 02/01/2003
    $date = $dt->operations("06/01/2003", "sum", "month", "4") // Return 10/05/2003
    *********************************************************************************/
    class DT
    {
        // Função que soma ou subtrai, dias, meses ou anos de uma data qualquer
        function operations($date, $operation, $where = FALSE, $quant, $return_format = FALSE)
        {
            // Verifica erros
            $warning = "<br>Warning! Date Operations Fail... ";
            if(!$date || !$operation) {
                return "$warning invalid or inexistent arguments<br>";
            }else{
                if(!($operation == "sub" || $operation == "-" || $operation == "sum" || $operation == "+")) return "<br>$warning Invalid Operation...<br>";
                else {
                    // Separa dia, mês e ano
                    list($day, $month, $year) = split("/", $date);
    
                    // Determina a operação (Soma ou Subtração)
                    ($operation == "sub" || $operation == "-") ? $op = "-" : $op = '';
    
                    // Determina aonde será efetuada a operação (dia, mês, ano)
                    if($where == "day")   $sum_day     = $op."$quant";
                    if($where == "month") $sum_month = $op."$quant";
                    if($where == "year")  $sum_year     = $op."$quant";
                    
                    // Gera o timestamp
                    $date = mktime(0, 0, 0, $month + $sum_month, $day + $sum_day, $year + $sum_year);
                    
                    // Retorna o timestamp ou extended
                    ($return_format == "timestamp" || $return_format == "ts") ? $date = $date : $date = date("d/m/Y", "$date");
    
                    // Retorna a data
                    return $date;
                }
            }
        }
    }
    ?>
    Esta função te retorna a data quando somados ou subtraidos quantos dias você quiser.
    function dia_ultrapassado($databd){
          /*Essa funcão informa o número de segundos transcorridos desde as 00:00:00 do dia 1 de janeiro de 1970. No  caso calculo os segundos transcorridos para cada uma das datas. A subtração dos dois valores encontrados informa a diferença (em segundos) entre as duas datas, como 24 horas tem 86400 segundos, o resultado dividido por 86400 resulta no número de dias.*/
            
            $databd= @explode("-",$databd);
            $data = @mktime(0,0,0,$databd[1],$databd[2],$databd[0]);
            $data_atual = @mktime(0,0,0,date("m"),date("d"),date("Y"));
            $dias = ($data - $data_atual)/86400;
            $dias = @ceil($dias);
            $final=@abs($dias);
            
            return $final;
          }
    Esta função te dá quantos dias se passaram desde uma data. Bom..elas podem te ajudar no que você vai precisar. Assim que você tiver em mãos quantos dias se passaram, seu for vai ficar mais ou menos assim:
    for($a=0;$a < $dias_passados;$a++){
    $insert="inser...";
    
    }
    Espero ter te ajudado.

  5. Então..o forum não loga automático...ele mantém o login aberto quando a sessão está salva.

    Tipo..se você estiver guardando o status de login em uma sessão, você pode partir para um caminho mais ou menos assim:

    if($_SESSION[conectado] == 1){

    conteudo da página

    }else{

    header('Location:login.php');

    }

    Claro que você deve agregar mais segurança ao seu controle, isso é só um exemplo (muito, mas muito básico mesmo).

  6. Bom dia.

    Estou tentando somar valores de document.form dentro do FOR mas não estou tendo o resultado esperado.

    A seguir, a estrutura HTML e o código java script:

    <html>
        <head>
        
    <script type="text/javascript">
               function teste(){
           var  qtd_campos=2;
        var soma;
        for(a = 0; a < qtd_campos; a++){
        
        
            if(document.form1.ai[a].value.length > 0){
            soma+=(eval(document.form1.ai[a].value));
            alert(soma);
            }
        
        }
        alert(soma);
        //alert(query);
     }
           </script>
    </head>
    <body>
    <form name="form1">
    <li>Campo 1 : <input type="text" name="campo" /><li>
    <li>Campo 2: <input type="text" name ="campo" />
    <input type="button" onclick="teste();" value="SOMA" /></li>
    </form>
    </body>
    </html>

    O fato é que eu consigo capturar os valores enviados, porém, o resultado da soma é igual a NaN.

    Fico desde já agradecido.

  7. Então.

    Para que você retorne esta variavel da maneira que você quer, seria guardando isso em uma SESSION ou COOKIE, sempre incrementando e não sobrescrevendo.

    Mas isso valerá apenas para o usuário que está acessando a função no momento.

    Por exemplo: eu escrevi nessa variável o meu nome e o fulano, de outro terminal,escreveu o nome dele. Para ele só vai aparecer o nome dele e para mim, só o meu nome.

    Pois cada terminal (ou navegador) terá sua SESSION.

  8. Bom dia.

    Estou com uma dúvida com o seguinte caso:

    Tenho vários campos text que são gerados dinamicamente com o While.

    Como são gerados pelo while, eu não posso atribuir o mesmo ID para eles mas posso atribuir o mesmo nome:

    <input type="text" name="campo[]" />

    Como eu faço para pegar o valor desses campos? É com document.form mesmo?

    Preciso muito de ajuda nisso para finalizar uma aplicação que esta travada por conta disso.

    Desde já agradeço a colaboração.

  9. Obrigado por responder DeeKilleer.

    Então..na verdade, esta quantidade de colunas é para simular a possibilidade de eu ter um cliente com mais de 40 lojas. Esta tabela seria para ele realizar edição de preços por loja.

    Eu notei que estava errado a forma de se colocar o tamanho das todos. rsrs.

    Mas , depois de montar a tabela, eu vi que na verdade eu não iria precisar manter uma constante no tamanho das todos pois nas todos do meio eu vou colocar campos text e eles irão me garantir a constante.

    Mas muito obrigado pela resposta.

    Abraços.

  10. Boa tarde.

    Estou com uma dúvida.

    Tenho que criar uma tabela dinamicamente, onde suas td não devem mudar de tamanho.

    Vou postar o código para ser mais claro.

    <table widtd="800" border="1" cellspacing="0">
        <?php
            echo'<tr>';
        echo'<td></td>';
        while($a < 5 ){
            
            echo'<td widtd="50">Loja '.$a.'</td>';
        $a++;    
        }
        echo'<td></td>';
        echo'</tr>';
    ?>
    </table>
    Nesta primeira, estou criando 5 colunas. O tamanho da td nesta primeira está bom. Agora, se eu tenho que criar 80 colunas, as todos ficam mais estreitas.
    <table widtd="800" border="1" cellspacing="0">
        <?php
            echo'<tr>';
        echo'<td></td>';
        while($a < 5 ){
            
            echo'<td widtd="50">Loja '.$a.'</td>';
        $a++;    
        }
        echo'<td></td>';
        echo'</tr>';
    ?>
    </table>

    Tem como eu manter uma largura única independente de quantas colunas eu colocar?

    Obrigado desde já.

  11. Opa.

    Então...eu criaria uma função que poderia ser acessada na administração da sua aplicação.

    Poderia ser mais ou menos assim:

    você tem uma tabela de usuario com os seguintes campos:

    id_usuario, nome,data_cad,data_ativa,status

    O campo status recebe 0 quando está desativado e 1 quando ativado.

    Aí você faz -> select data_cad from tabela where status = 0

    você pode usar esta função para saber quantos dias se passaram.

    function dia_ultrapassado($databd){
          /*Essa funcão informa o número de segundos transcorridos desde as 00:00:00 do dia 1 de janeiro de 1970. No  caso calculo os segundos transcorridos para cada uma das datas. A subtração dos dois valores encontrados informa a diferença (em segundos) entre as duas datas, como 24 horas tem 86400 segundos, o resultado dividido por 86400 resulta no número de dias.*/
            
            $databd= @explode("-",$databd);
            $data = @mktime(0,0,0,$databd[1],$databd[2],$databd[0]);
            $data_atual = @mktime(0,0,0,date("m"),date("d"),date("Y"));
            $dias = ($data - $data_atual)/86400;
            $dias = @ceil($dias);
            $final=@abs($dias);
            
            return $final;
          }
    Peguei esta função de um colega e ela funciona pois uso ela na minha aplicação. Aí você executa a query passada acima
    $query=mysql_query("select data_cad,id_usuario from tabela  where status = 0 ");
    
    while($resultado=mysql_fetch_array($query)){
         $dia=dia_ultrapassado($resultado[0]);
         if($dia > 30){
        $deleta=mysql_query("delete from tabela where id=$resultado[1]");
          }
    
    
    }

    Não testei isso..mas tenho certeza que fica perto disso o que você precisa.

    Tente adaptar este caminho.

    Espero que isso ajude.

×
×
  • Criar Novo...