Ir para conteúdo
Fórum Script Brasil

wootzor

Membros
  • Total de itens

    480
  • Registro em

  • Última visita

Posts postados por wootzor

  1. Não me parece que seja a melhor abordagem mas podes sempre colocar um parâmetro opcional na função:

    function inserir($sql = null)
    {
    	$fp = fopen($filename,"r");
    	while(($row = fgetcsv($fp,"0",";")) != FALSE)
    	{		
    	   if (is_null($sql)) 
    	   {
    	     $sql = "INSERT INTO consumo (Documento_SD, Status, Ocorr,Tipo_doc_vendas) VALUES('" . implode("';'",$row) . "')";
    	   }
    	   if(!mysqli_query($connection, $sql))
    	   {
    	 	 die('Error : ' . mysqli_error());
    	   }
    	}
    	fclose($fp);
    	echo $sql;
    }
    //Exemplo de uso
    $query = "insert into relatorio (numeroov, regiao, cliente) values (...)";
    inserir($query);

     

  2. Usa JavaScript:

    <form id="frmReserva" name="frmReserva">
      <select name="valor" id="valor" onChange="actualizaPreco()">
        <option value="10">Seleccione uma opção:</option>
        <option value="10">A</option>
        <option value="20">B</option>
      </select>
      Valor:
      <input type="number" id="resultado" name="resultado" />
    </form>
    function actualizaPreco() 
    {
      document.getElementById("resultado").value = document.getElementById("valor").value;
    }

    Exemplo.

  3. Se queres enviar uma mensagem a cada utilizador tens de colocar toda a lógica de envio do e-mail dentro do ciclo while. Como está ele só envia para o último porque estás a substituir as variáveis com os detalhes de destinatário e mensagem bem como o objecto $mail. Experimenta assim:

    <?php
    while ($linha = mysql_fetch_array($resultado, MYSQL_BOTH)) { // Seleciona os campos, para cada linha 
        $nome=$linha['nome'];
        $username=$linha['username'];
        $email=$linha['email']; // Variáveis com assunto e mensagem
        $subject = "\"Newsletter\"";
        $mensagem = " Caro(a) $nome, aqui está a habitual newsletter, Atenciosamente, Garden Corporation Online"; // Inicia a classe PHPMailer
        $mail=new PHPMailer(); // Define os dados do servidor e tipo de ligação
        $mail->SMTPAuth=true; // utilizar autenticação SMTP no caso de utilizar o GMAIL
        $mail->Port=465;
        $mail->SMTPSecure = "ssl";
        $mail->Host='smtp.gmail.com';
        $mail->Username='remetente'; // nome de utilizador
        $mail->Password='password'; // password de acesso ao mail
        // Define o remetente
        $mail->SetFrom('remetente@gmail.com','Teste');
        // Define os destinatário(s)
        $mail->AddAddress($email,$nome.' '.$username);
        $mail->Subject=$subject;
        $mail->Body=$mensagem;
        $imprime=$nome." ".$email."";
        // Apresenta o resultado do pedido
        if ($mail->Send()) {// Envia o e-mail
          echo "E-mail enviado com sucesso! ($imprime)"; //mostrar uma mensagem por cada e-mail enviado.
        } 
        else {
          echo 'Erro ao enviar e-mail: '.$mail->ErrorInfo;
        }
    } //endwhile

     

  4. Utilizando uma biblioteca diferente para o mesmo fim (que usa JavaScript nativo em vez de jQuery), acho que se consegue fazer o que pretendes:

    var total = document.getElementById("total");
    
    function totalReceber() {
      var volume = document.getElementById("volume").value;
      var qtd = document.getElementById("qtd").value;
      
      if (volume === '1') {
      	total.value = qtd * 0.45;
      }
      if (volume === '2') {
      	total.value = qtd * 45;
      }
      if (volume === '3') {
      	total.value = qtd * 65;
      }
      maskMoney();
    }
    function maskMoney() {
    	VMasker(total).maskMoney({
          // Decimal precision -> "90"
          precision: 2,
          // Decimal separator -> ",90"
          separator: ',',
          // Number delimiter -> "12.345.678"
          delimiter: '.',
          // Money unit -> "R$ 12.345.678,90"
          unit: 'R$',
          // Force type only number instead decimal,
          // masking decimals with ",00"
          // Zero cents -> "R$ 1.234.567.890,00"
          zeroCents: false
        });
    }

    Exemplo.

  5. A questão é que, se puseres os preços de época alta e época baixa na tabela, vais estar a acrescentar informação "desnecessária" no sentido em que são dados que podem ser inferidos directamente em PHP sem necessidade de armazenamento permanente na base de dados. Imagina que o preço por noite da tua suite mais simples é 100€ (preço base ou de época baixa). Quando chegares à época alta, podes simplesmente ir buscar o valor à BD e recalculares o preço em função da nova margem (ex: $preço *= 1.15), o que permite até maior versatilidade, já que são cálculos que podes fazer e apresentar directamente no script e não precisas de estar constantemente a fazer pedidos à BD.

  6. <?php
      $inicio_alta = new DateTime("2016-04-01");
      $fim_alta = $inicio_alta->add(new DateInterval("P5M"));
      echo "Fim da época alta: " . $fim_alta->format("d-m-Y h:i:s") . "<br />";
      $hoje = new DateTime("now");
      if (($hoje >= $inicio_alta) && ($hoje <= $fim_alta))
      {
        //Aplicar Preços de Verão (por ex., pegas no preço "base" da tabela, acrescentas x% e mostras o novo preço)
      }
      else
      {
        //Aplicar Preços de época baixa
      }

     

  7. Não reparei que a variável numero também é um array. Nesse caso, troca o teu foreach por:

    <?php
    	$matr = $_POST["falta"];
    	for ($i = 0, $j = 0; $i < count($matr); $j < count($numero); $i++, $j++)
    	{
    		mysql_query("INSERT INTO chamada (Aluno, numero) VALUES  ('$matr[$i]', $numero[$j])") or die(mysql_error());
    	}

     

  8. Qual o tipo de dados do campo numero na base de dados?

    Se for inteiro, tens de fazer o seguinte:

    <?php
      $numero = (int)$_POST["numero"];

    E na instrução de inserção retira as plicas ('') da variável:

    INSERT INTO chamada (Aluno, numero) VALUES  ('$matr', $numero)

     

×
×
  • Criar Novo...