![](https://forum.imasters.com.br/uploads/set_resources_20/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://forum.imasters.com.br/uploads/monthly_2017_09/G.png.50c83d62f3770cd3a764060480ec7b96.png)
gersonab
-
Total de itens
456 -
Registro em
-
Última visita
Posts postados por gersonab
-
-
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)));
-
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.
-
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; } });
-
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.
-
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.
-
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
-
tenta assim :
if(mysqli_num_rows($pegaralunos) > 0){
na query coloca aspas duplas no userid
-
você pode utilizar array_sum ou no próprio mysql se der SUM(coluna) AS
-
primeiro use mysqli ou pdo , no if coloca == ( igual duplo )
-
O loop não ocorria pq no último while eu repeti o result do primeiro.
$result = mysqli_query($con, $sql);
foi só modificar que funcionou normalmente
-
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.
-
Boa tarde a todos, tenho um sistema de upload de arquivos que funciona perfeitamente, agora eu gostaria que estes arquivos fossem armazenados em nuvem, não no servidor, poderiam indicar um tutorial ou como proceder.
-
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(); } ?>
-
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
-
Em pesquisa feita já havia reparado , obrigado.
-
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>
-
Desculpa galera, já resolvi aqui faltava o [$i] ---> $sql->bindValue(':datapar',$dat[$i]);
-
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.
-
é exatamente este que estou usando agora
-
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.
-
utilizo esta
$sqldel=$pdo->query("DELETE FROM ipi WHERE dataip < DATE_SUB(NOW(), INTERVAL 90 DAY)");
-
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>
-
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 ????
-
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>
zipar arquivo ao fazer upload
em PHP
Postado
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
desde já agradeço qq ajuda.