Ir para conteúdo

gersonab

Members
  • Total de itens

    456
  • Registro em

  • Última visita

Posts postados por gersonab


  1. utilizo um script para fazer upload de vários arquivos, só que agora foi solicitado para zipar o mesmo ao fazer o upload, pra ser sincero ja verifiquei vários tutoriais e não estou conseguindo.

    segue o script do upload funcionando sem o zip

     

    <?php
    if (!isset($_SESSION)) session_start();
    require_once('config.php');
    
    error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
    
    $idpr=$_POST['idpr'];
    $fotoprof=$_POST['fotoprof'];
    $foproc=$_POST['foproc'];
    $diretorio = "../files/";
    $arquivo = $_FILES['foto'];
    for ($controle = 0; $controle < count($arquivo['name']); $controle++){
    
    	$nome = ($idpr."-P-".$arquivo['name'][$controle]);
    
    	$values .= " ('{$nome}', '{$fotoprof}', '{$idpr}'),";
    
    	$destino = $diretorio."/".$idpr."-P-".$arquivo['name'][$controle];
    	move_uploaded_file($arquivo['tmp_name'][$controle], $destino);
    }
    	$values=substr($values, 0, -1);
    
    	$sql_fotos = "INSERT INTO fotos ( foto, fotoprof, fotoidpr ) VALUES $values";
        //executa a query
        $executa = mysqli_query($con,$sql_fotos);
    ?>

    desde já agradeço qq ajuda.


  2. já resolvi, pode não ser a solução ideal, porém esta funcionando conforme minha necessidade.

    $datab = implode("-",array_reverse(explode("-",$user['datab'])));
     echo date('d/m/Y', strtotime('-15 days', strtotime($datab)));

     


  3. tenho uma data no BD , gostaria de mostrar ela 15 dias antes, montando um alerta 15 dias antes desta data

    atualmente utilizo assim, porém me mostra 15 dias após.

    $data = DateTime::createFromFormat('d/m/Y', $datab);
    $data->add(new DateInterval('P15D'));

    tipo:

    se eu colocar a data 24/11/2020 , ela vai me mostrar 09/12/2020 , quando preciso q mostre 09/11/2020.


  4. resolvi da seguinte forma

    $("#localiza").submit(function () {
            var vazios = $("input[name=idc]").filter(function() {
                return !this.value;
            }).get();
    
            if (vazios.length) {
                $(vazios).addClass('vazio');
                alert("Seleção inválida ou vazia.");
                return false;
            
            }
        });

     


  5. Boa tarde, tenho uma página de pesquisa com vários campos, podendo usar um apenas para pesquisa, fica a critério da pessoa, o que acontece é que todos os campos quando se faz o autocomplete ele envia a pesquisa pelo id, porém se eu enviar o campo em vazio o formulário envia assim mesmo a pesquisa, gostaria que só enviasse caso estivesse com o id.

    segue o formulário:

     <h4>Localizar por ...</h4>
    <form  role="form" action="listcliente.php" method="GET"  autocomplete='off'>
      <div class="form-row mb-4">
        <div class="form-group col-md-12">
          <label>Nome ou ...</label>
          <input type="text" name="nomec" id="nomec" class="form-control" style="text-transform: uppercase;">
          <input type="hidden" name="idc" id="idc">
        </div>
      </div>
      <div class="form-row mb-4">
        <div class="form-group col-md-4">
          <label>CPF ou ...</label>
          <input type="text" name="cpfc" id="cpfc" class="form-control">
        </div>
    
        <div class="form-group col-md-4">
          <label>CNPJ ou ...</label>
          <input type="text" name="cnpj" id="cnpj" class="form-control">
        </div>
        <div class="form-group col-md-4">
          <label>Data de nascimento</label>
          <input type="text" name="datan" id="datan" class="form-control">
        </div>
      </div>
      <input type="submit" name="Localizar" value="Localizar" class="btn btn-primary mt-3">
    
    </form>

    o autocomplete, apenas um de exemplo.

    $( "#nomec" ).autocomplete({
    minLength: 2,
    source: function( request, response ) {
    
    $.ajax({
    url: "../lista/autocli.php",
    type: 'post',
    dataType: "json",
    data: {
    search: request.term
    },
    success: function( data ) {
    response( data );
    }
    });
    },
    select: function (event, ui) {
    $('#nomec').val(ui.item.label); // display the selected text
    $('#idc').val(ui.item.value); // save selected id to input
    return false;
    }
    });

    a página autocli.php

    <?php
    require_once('config.php');
    if(isset($_POST['search'])){
     $search = $_POST['search'];
    
     $query = "SELECT nomec, idc FROM cli WHERE nomec LIKE '%".$search."%'";
     $result = mysqli_query($con,$query);
    
     $response = array();
     while($row = mysqli_fetch_array($result) ){
       $response[] = array("value"=>$row['idc'],"label"=>$row['nomec']);
     }
    
     echo json_encode($response);
    }
    
    exit;
    ?>

    desde já agradeço a ajuda.


  6. Depois de modificado o loop ocorre normalmente, mostrando os resultados normal, só que ao inserir novos itens, só grava como se fosse do primeiro, tipo :

    <?php
    session_start();
    require_once('config.php');
    $output = '';  
    $idc1=$_SESSION['idc'];
    $sql01 = "SELECT * FROM porcent WHERE idfcli='$idc1'";
    $result = mysqli_query($con, $sql01);
    while($user41 = mysqli_fetch_array($result)){
    	// primeiro while onde seleciono os itens da pessoa podendo ter vários
    	$output .= '
    	<div class="table-responsive mb-4 mt-4">
    	Aqui vem os dados da pessoa
    	';
    	$id1= $user41["idproc"];
    	$sqladv = "SELECT * FROM poradv WHERE procav='$id1'";
    	$resulta = mysqli_query($con, $sqladv);  
    	$output .= '
    	<table class="table table-bordered table-hover table-striped" style="width:100%">
    	<thead>
    	<tr>
    	</tr>
    	</thead>
    	<tbody>';
    	if(mysqli_num_rows($resulta) > 0)  
    	{ 
    		while($usera = mysqli_fetch_array($resulta)){
    			//segundo while onde tenho os dados de venda em uma tabela editavel
    			$output .= '
    			<tr> tabela 1 </tr>';  
    		}  
    		$output .= '  
    		<tr>  
            <td style="display:none;"></td>
    		<td id="procav">'.$user41["idproc"].'</td>
    		<td id="adv" contenteditable></td> 
    		// insiro linhas caso precise +++++++++++++++++++++++++++++++++++++++++++++++++++
    		</tr>  
    		';  
    	}  
    	else  
    	{  
    		$output .= '<tr> 
            <td style="display:none;"></td>
    		<td id="procav">'.$user41["idproc"].'</td>
    		<td id="adv" contenteditable></td> 
    		// caso não tenha nada inserido, posso fazer por aqui  ++++++++++++++++++++++++++++++++++++++++
    		</tr>  ';  
    	}  
    	$output .= '</tbody>
    	</table>';
    	$id2= $user41["idproc"];
    	$sql = "SELECT * FROM parcelas WHERE procid='$id2' ORDER BY datapar, idpar ASC";  
    	$resultxx = mysqli_query($con, $sql);  
    	$output .= '
    	<table class="table table-bordered table-hover table-striped" style="width:100%">
    	<thead>
    	<tr>
    	// tabela de pagamentos editavel
    	</tr>
    	</thead>
    	<tbody>';
    	if(mysqli_num_rows($resultxx) > 0)  
    	{  
    		while($row = mysqli_fetch_array($resultxx))  
    		{  
    			//terceiro while , tabela referente a pagamentos
    			
    			$output .= '
    
    			<tr>
    			// tabela pagamentos
    			</tr>';  
    		}  
    		$output .= '  
    		<tr>
            <td style="display:none;"></td>
    		<td id="procid">'.$user41["idproc"].'</td>  
    		<td id="valorp" contenteditable></td> 
    		// insiro linhas caso precise ++++++++++++++++++++++++++++
    		</tr>  
    		';  
    	}  
    	else  
    	{  
    		$output .= '<tr>  
            <td style="display:none;"></td>
    		<td id="procid">'.$user41["idproc"].'</td>  
    		<td id="valorp" contenteditable></td>
    		// caso não tenha nada inserido, posso fazer por aqui  +++++++++++++++++++++++++++++++++
    		</tr>  '; 
    	}  
    	$output .= '</tbody>
    	</table>
    	</div>
    	
    	'; 
    }
    echo $output;
    
    ?>

    onde eu coloquei o sinal de ++++ é onde estou tendo dificuldade , mostra o id conforme o loop , correto , porém ao inserir novos registros ele esta salvando com o id do primeiro loop.


  7. tente assim

    SELECT aluno FROM escola WHERE colegio_id='$colid'
    if(mysql_num_rows($botaoaluno) > 0){

    não expert , mas faria isso, lembrando do mysqli

     

    editado


  8. Bom dia, tenho 2 tabelas editáveis em uma div, estas funcionam normalmente, o problema é que o loop não acontece , só carrega sobre 1 item, sendo que este eu posso ter mais itens.

     na página principal tenho:

    <div class="carregadados"></div>
    
    function fetch_data()  
    {  
    $.ajax({  
    url:"../lista/finan.php",  
    method:"POST",  
    success:function(data){  
    $('.carregadados').html(data);  
    }  
    });  
    }  
    fetch_data(); 

    a página a ser carregada esta assim:

    <?php
    session_start();
    require_once('config.php');
    $output = '';  
    $idc1=$_SESSION['idc'];
    $sql01 = "SELECT * FROM porcent WHERE idfcli='$idc1'";
    $result = mysqli_query($con, $sql01);
    while($user41 = mysqli_fetch_array($result)){
    	// primeiro while onde seleciono os itens da pessoa podendo ter vários
    	$output .= '
    	
    	<div class="table-responsive mb-4 mt-4">
    	Aqui vem os dados da pessoa
    	';
    	$id1= $user41["idproc"];
    	$sqladv = "SELECT * FROM poradv WHERE procav='$id1'";
    	$resulta = mysqli_query($con, $sqladv);  
    	$output .= '
    	<table class="table table-bordered table-hover table-striped" style="width:100%">
    	<thead>
    	<tr>
    	</tr>
    	</thead>
    	<tbody>';
    	if(mysqli_num_rows($resulta) > 0)  
    	{ 
    		while($usera = mysqli_fetch_array($resulta)){
    			//segundo while onde tenho os dados de venda em uma tabela editavel
    			$output .= '
    			<tr>
    			
    			</tr>';  
    		}  
    		$output .= '  
    		<tr>  
    		// insiro linhas caso precise 
    		</tr>  
    		';  
    	}  
    	else  
    	{  
    		$output .= '<tr>  
    		// caso não tenha nada inserido, posso fazer por aqui  
    		</tr>  ';  
    	}  
    	$output .= '</tbody>
    	</table>';
    	$id2= $user41["idproc"];
    	$sql = "SELECT * FROM parcelas WHERE procid='$id2' ORDER BY datapar, idpar ASC";  
    	$result = mysqli_query($con, $sql);  
    	$output .= '
    	<table class="table table-bordered table-hover table-striped" style="width:100%">
    	<thead>
    	<tr>
    	// tabela de pagamentos editavel
    	</tr>
    	</thead>
    	<tbody>';
    	if(mysqli_num_rows($result) > 0)  
    	{  
    		while($row = mysqli_fetch_array($result))  
    		{  
    			//terceiro while , tabela referente a pagamentos
    			
    			$output .= '
    
    			<tr>
    			// tabela pagamentos
    			</tr>';  
    		}  
    		$output .= '  
    		<tr>  
    		// insiro linhas caso precise 
    		</tr>  
    		';  
    	}  
    	else  
    	{  
    		$output .= '<tr>  
    		// caso não tenha nada inserido, posso fazer por aqui  
    		</tr>  '; 
    	}  
    	$output .= '</tbody>
    	</table>
    	</div>
    	
    	'; 
    }
    echo $output;
    
    ?>

    só esta carregando uma vez , tudo dentro da parte editável esta funcionando, porém no primeiro while só faz 1 loop, os demais estão funcionando perfeitamente.

    desde já agradeço qualquer ajuda.


  9. não sei até onde você chegou, mas pelo tempo eu consigo, porém fechando o navegador, perde a sessão mas não muda o status.

    falta mudar o status ao fechar o navegador.

    <?php
    if (!isset($_SESSION)) session_start();
    require_once('../curio.php');
    if (!isset($_SESSION['UsuarioNivel']) == 1 ) {
    	header("Location: index.php"); exit;
    }
    if (!isset($_SESSION['registro']) && !isset($_SESSION['limite']) ) {
    	header("Location: index.php"); 
    $sqlo1=$pdo->prepare("UPDATE prof SET status = :status WHERE idp = :idp"); 
    		$sqlo1->bindValue(':status',0);
    		$sqlo1->bindParam(':idp',$_SESSION['UsuarioID'], PDO::PARAM_INT);
    		$sqlo1->execute();
    	exit;
    }
    if ($_SESSION['registro']) {
    	$segundos = time() - $_SESSION['registro'];
    }
    if( $segundos > $_SESSION["limite"]){
    	$sqlo2=$pdo->prepare("UPDATE prof SET status = :status WHERE idp = :idp"); 
    		$sqlo2->bindValue(':status',0);
    		$sqlo2->bindParam(':idp',$_SESSION['UsuarioID'], PDO::PARAM_INT);
    		$sqlo2->execute();
    unset ($_SESSION['UsuarioID']);
    unset ($_SESSION['UsuarioNome']);
    unset ($_SESSION['UsuarioNivel']);
    unset ($_SESSION['UsuarioUser']);
    unset ($_SESSION['UsuarioSenha']);
    unset ($_SESSION['UsuarioEmail']);
    session_destroy();
    header("Location: ../index.php"); exit;
    } else {
    	 $_SESSION['registro'] = time();
    }
    ?>

     


  10. boa noite, estou reabrindo este tópico pois esta relacionado diretamente a ele, um caso estranho esta acontecendo e não estou conseguindo resolver, conforme relatado acima um problema com gravações de arquivos e seus respectivos nomes no banco de dados, foi acertado o cadastro dos mesmo , ficando todos com seus respectivos caracteres normais, porém hoje me deparei com outro problema, começou a aparecer aquela interrogação no local do caractere , verifiquei no bd e o mesmo esta com sua acentuação normal, o arquivo também esta normal, assim esta minha configuração.

    minhas páginas estão com chartset UTF-8 , meu banco esta utf8_general_ci , minha conexão esta 

    $pdo = new PDO("xxxxxx(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

    não sei o que esta ocorrendo.

    para tentar contornar estou usando ..

    $cur_encoding = mb_detect_encoding($foto) ;
       if($cur_encoding = "Windows-1252")
       { $fotocerta = mb_convert_encoding($foto, 'Windows-1252', 'UTF-8');
       } elseif($cur_encoding = "ISO-8859-1")
       { $fotocerta = mb_convert_encoding($foto, 'ISO-8859-1', 'UTF-8');
       } else {  $fotocerta = $foto;}

    porém o famoso ? continua aparecendo nos cadastros com acentos


  11. Bom dia , preciso resgatar o valor de uma class e usar numa query , a class no caso é idname conforme abaixo.

    <div class="chat-meta-user">
            <div class="current-chat-user-name"><span><img src="../fotos/<?php if ($fotop != ''){ echo $fotop; } else { echo 'semfoto.png'; } ?>" width="50" height="66"  alt="avatar"><span class="name"></span><span class="idname"></span></span></div>
    </div>

    ao inspecionar no chrome ela aparece normalmente

    <span class="idname">31</span>

     


  12. Já pesquisei na internet varias formas de gerar as datas automaticamente de parcelas, o mais próximo que cheguei foi neste abaixo, cadastra as parcelas com seus valores só que a data esta zerada, esta salvando assim 0000-00-00 , o campo é date.

    if(!empty($_POST)) {
    		$procid = $_POST['procid'];
    		$valorp = str_replace('.','', $_POST['valorp']);
    		$datapar = $_POST['datapar'];
    		$date = implode("-",array_reverse(explode("/",$datapar)));
    		$obspar = $_POST['obspar'];
    		$nr_parcelas = $_POST['nr_parcelas'];
    
    		for($i = 0; $i < $nr_parcelas; $i++)
    {
    	$dat[$i] = date("Y-m-d",strtotime($date ." +$i month"));	
    		$sql=$pdo->prepare("INSERT INTO parcelas ( procid, nr_parcelas, valorp, datapar, obspar) VALUES ( :procid, :nr_parcelas, :valorp, :datapar, :obspar)"); 
    		
    		$sql->bindValue(':procid',$procid);
    		$sql->bindValue(':nr_parcelas',$i);
    		$sql->bindValue(':valorp',$valorp);
    		$sql->bindValue(':datapar',$dat);
    		$sql->bindValue(':obspar',$obspar);
    		if ($sql->execute() === false){
    		echo "<pre>";
    		print_r($sql->errorInfo());
    	}
    			}
    		}

    desde já agradeço.


  13. Bom dia.

    utilizava um código para completar o endereço conforme o cep, funcionando perfeitamente, só que preciso pegar o cep caso não tenha, pelo endereço digitado, pesquisando pela internet encontrei o código abaixo, funciona perfeitamente para os dois casos, só que .... no meu formulário tenho dois campos de endereço, um residencial e outro de trabalho, o código que utilizava antes funcionava para os dois campos, erá só mudar o id do campo do formulário, tipo se eu tinha id="logadouro" em um campo no outro id="logadouro1", só que .... no código atualizado para ambas as pesquisas esta forma não funciona, gostaria da ajuda de vocês para este problema.

    código antigo:

     function limpa_formulário_cep() {
            $("#logradouro").val("");
            $("#bairro").val("");
            $("#localidade").val("");
            $("#uf").val("");
        }
        $("#cep").blur(function() {
            var cep = $(this).val().replace(/\D/g, '');
            if (cep != "") {
                var validacep = /^[0-9]{8}$/;
                if(validacep.test(cep)) {
                    $("#logradouro").val("...");
                    $("#bairro").val("...");
                    $("#localidade").val("...");
                    $("#uf").val("...");
                    $.getJSON("https://viacep.com.br/ws/"+ cep +"/json/?callback=?", function(dados) {
                        if (!("erro" in dados)) {
                            $("#logradouro").val(dados.logradouro);
                            $("#bairro").val(dados.bairro);
                            $("#localidade").val(dados.localidade);
                            $("#uf").val(dados.uf);
        } 
        else {
            limpa_formulário_cep();
            alert("CEP não encontrado.");
        }
    });
        }
        else {
            limpa_formulário_cep();
            alert("Formato de CEP inválido.");
        }
        }
        else {
            limpa_formulário_cep();
        }
    });

    como podem ver era só duplicar e mudar o id, agora neste ja não consigo

    var inputsCEP = $('#logradouro, #bairro, #localidade, #uf');
            var inputsRUA = $('#cep, #bairro');
            var validacep = /^[0-9]{8}$/;
            function limpa_formulário_cep(alerta) {
              if (alerta !== undefined) {
                alert(alerta);
            }
            inputsCEP.val('');
        }
        function get(url) {
          $.get(url, function(data) {
            if (!("erro" in data)) {
              if (Object.prototype.toString.call(data) === '[object Array]') {
                var data = data[0];
            }
            $.each(data, function(nome, info) {
                $('#' + nome).val(nome === 'cep' ? info.replace(/\D/g, '') : info).attr('info', nome === 'cep' ? info.replace(/\D/g, '') : info);
            });
        } else {
          limpa_formulário_cep("CEP não encontrado.");
      }
    });
      }
    // Digitando RUA/CIDADE/UF
    $('#logradouro, #localidade, #uf').on('blur', function(e) {
      if ($('#logradouro').val() !== '' && $('#logradouro').val() !== $('#logradouro').attr('info') && $('#localidade').val() !== '' && $('#localidade').val() !== $('#localidade').attr('info') && $('#uf').val() !== '' && $('#uf').val() !== $('#uf').attr('info')) {
        inputsRUA.val('...');
        get('https://viacep.com.br/ws/' + $('#uf').val() + '/' + $('#localidade').val() + '/' + $('#logradouro').val() + '/json/');
    }
    });
    
    // Digitando CEP
    $('#cep').on('blur', function(e) {
      var cep = $('#cep').val().replace(/\D/g, '');
      if (cep !== "" && validacep.test(cep)) {
        inputsCEP.val('...');
        get('https://viacep.com.br/ws/' + cep + '/json/');
    } else {
        limpa_formulário_cep(cep == "" ? undefined : "Formato de CEP inválido.");
    }
    });

    desde já agradeço.


  14. resolvi desta forma, vou deixar aqui a solução que encontrei para ajudar quem precise, pode não ser a ideal, mas deu certo aqui.

    <label>Comarca </label>
    <select class="form-control" name="cidag">
      <option value="">-- Selecionar --</option>
      <?php
    $curc4 = $pdo->query("SELECT * FROM comarca ORDER BY comarc asc");
    while ($lic4 = $curc4->fetch(PDO::FETCH_ASSOC)) {
    $comarc=$lic4['comarc'];
    if($cidag == $comarc){
    $selected = "selected";
    } else {
    $selected = " ";
    }
    ?>
      <option value="<?php echo $comarc;?>" <?php echo $selected;?> ><?php echo $comarc;?></option>
    <?php } ?> 
    </select>

     


  15. outra forma que eu tentei foi :

     <option <?php if($cidade == $lic4['comarc']) {echo 'selected'; } ?> value="<?php echo $lic4['comarc']; ?>"><?php echo $lic4['comarc']; ?></option>

    o select option vem com todos os dados do banco normalmente, porém não vem com o dados setado para edição caso necessário, vem em branco, aí tendo que ser refeito, precisando ou não.

    nessa situação como exposta no início, se eu trabalhar com o id da tabela comarca, e estiver gravado o id na outra, funciona perfeitamente, mas com nomes não.

    echo "<option value=".$lic4['idcomarc']." ".($idcidade == $lic4['idcomarc'] ? "selected":"")." >".$lic4['comarc']."</option>";

    mas porque com os nomes não consigo ????


  16. Ainda não consigo trazer o option selecionado que esta no BD

    echo "<option value=\"".$lic4['comarc']."\" ".($cidade == $lic4['comarc'] ? "selected":"").">".$lic4['comarc']."</option>";

    no log

    <option value="ANGRA DOS REIS">ANGRA DOS REIS</option>

     

×

Informação importante

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