-
Total de itens
374 -
Registro em
-
Última visita
-
Dias vencidos
11
Tudo que washalbano postou
-
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> <?php function base_url() { return '/'; } $dprts = [ (object) [ 'idDepartamento' => 1, 'departamento' => 'Departamento 1', ], (object) [ 'idDepartamento' => 2, 'departamento' => 'Departamento 2', ], ]; ?> <div class="container"> <div class="row"> <div class="col-md-6"> <label for="tipoDepart" class="control-label">Departamento:</label> <select name="tipoDepart" id="tipoDepart" style="width:100%;" class="form-control"> <option value="">Selecione um Departamento</option> <?php foreach ($dprts as $dp) { echo '<option value="' . $dp->idDepartamento . '">' . $dp->departamento . '</option>'; } ?> </select> </div> <div class="col-md-6"> <div class="card card-entrad"> <div class="card-header"> <label class="card-tlentr">Entrada - Estoque</label> </div> <div class="card-body"> <div style="text-align:center;"> <a href="#" id="getRequestAnchor" class="btn btn-cinza btn-primary disabled">Adicionar</a> </div> </div> </div> </div> </div> </div> <script> tipoDepart.onchange = ({ target }) => { getRequestAnchor.classList.add('disabled') getRequestAnchor.setAttribute('href', '#') if (target.value) { getRequestAnchor.classList.remove('disabled') getRequestAnchor.setAttribute('href', `<?php echo base_url(); ?>estoque/ajuste/adicionar/${target.value}`) } } </script>
-
Saudações! essa notação é de 1 objeto essa notação é 1 array de objetos Se os dois estão corretos, o script deveria funcionar da mesma forma, depois de submetidos os dados. Não deveria falhar. É preciso investigar/debugar melhor
-
Saudações! Há algumas maneiras de se resolver. Seu login é feito via ajax. O redirect provavelmente é feito via javascript. O sr. pode acrescentar uma variável de sessão para verificar se o user já escolheu a empresa, se não, mostre a tela de escolha.
-
Olá! Tente assim: document.querySelector("input").oninput = ({ target }) => { const maskedValue = target.value // remove o que não for dígito .replace(/\D/g, "") // remove leading zeroes .replace(/^0+(?!$)/, "") // acrescenta leading zeroes .replace(/^(\d)$/, "00$1") // acrescenta leading zero .replace(/^(\d{2})$/, "0$1") // acrescenta ponto a cada três dígitos .replace(/\B(?=(\d{3})+(?!\d))/g, "."); target.value = maskedValue; }; https://codepen.io/washalbano/pen/ExzQXvB?editors=1011
-
Já melhorou muito, heim??? Com foi que mudou tanto assim? Já está funcionando! Só precisei diminuir uma descida de nível ali
-
Olá! Percebi que seu sistema não define rotas, mas sim executa e sai exit() da execução. Dessa forma, sempre será executada apenas e somente a primeira rota. Acredito que precisar efetuar 2 procedimentos: 1) definir as rotas 2) executar a rota, conforme a REQUEST_URI atual
-
tente com location.replace: https://developer.mozilla.org/en-US/docs/Web/API/Location/replace
- 1 resposta
-
- java
- javascript
-
(e mais 1 )
Tags:
-
faltou abrir aspas simples pro li.mp4
-
Olá! Segue sugestão: js function Carrega() { const fileInput = document.getElementById("arquivo"); const fData = new FormData(); for (file of fileInput.files) { fData.append('arquivo[]', file); } $.ajax({ url: "upload.php", method: "POST", data: fData, contentType: false, cache: false, processData: false, beforeSend: function () { $('#respimg').html("Enviando..."); }, success: function (data) { $('#msgret').html(data); } }); } php if (isset($_FILES['arquivo'])) { for ($i = 0; $i < count($_FILES['arquivo']['name']); $i++) { $nomeArquivo = $_FILES['arquivo']['name'][$i]; $tamanhoArquivo = $_FILES['arquivo']['size'][$i]; $nomeTemporario = $_FILES['arquivo']['tmp_name'][$i]; echo "<pre>Arquivo <b>$i</b>: "; print_r([$nomeArquivo, $tamanhoArquivo, $nomeTemporario]); echo '</pre>'; } }
-
E dá algum erro? Consegue transcrever ou enviar screenshot pra gente tentar entender?
-
Imagine que as fotos estão dentro de um container com barra de rolagem oculta e ao clicar em prev/next o container será movido Xpx pra esquerda ou para a direita. segue sugestão: <div class="slider"> <div class="images-container"> <figure class='active'><img src="https://picsum.photos/400/300?random=1" /></figure> <figure><img src="https://picsum.photos/400/300?random=2" /></figure> <figure><img src="https://picsum.photos/400/300?random=3" /></figure> <figure><img src="https://picsum.photos/400/300?random=4" /></figure> <figure><img src="https://picsum.photos/400/300?random=5" /></figure> </div> <div class="controllers"> <button id='prev'>❮</button> <button id='next'>❯</button> </div> </div> <div class="log"> <p></p> </div> * { box-sizing: border-box; } .slider { overflow-x: hidden; position: relative; } .slider .images-container { display: flex; position: relative; width: 100%; transition: all 0.2s ease; } .slider figure { display: flex; margin: 0; min-width: 100%; justify-content: center; } .slider .controllers { position: absolute; top: 50%; width: 100%; display: flex; justify-content: space-between; transform: translateY(-50%); } .log { display: flex; } .log > p { font-family: monospace; white-space: pre; margin: 12px; padding: 12px; border-left: thin solid #eee; } const log = document.querySelector("div.log"); const slider = document.querySelector("div.slider"); const imagesContainer = slider.querySelector(".images-container"); const figuresCollection = [...imagesContainer.children]; let activeFigure; let activeIndex; let figureWidth; const setImagesContainerPosition = () => { console.log("activeIndex :>> ", activeIndex); imagesContainer.style.transform = `translateX(-${ activeIndex * activeFigure.offsetWidth }px)`; }; const moveSlider = (direction) => { // select active figure activeFigure = slider.querySelector("figure.active"); // detect index of active figure const prevIndex = figuresCollection.indexOf(activeFigure); activeIndex = (direction === "right" ? prevIndex + 1 : prevIndex - 1 + figuresCollection.length) % figuresCollection.length; setImagesContainerPosition(); // remove active from activeFigure.classList.remove("active"); figuresCollection[activeIndex].classList.add("active"); log.querySelector("p").innerHTML = JSON.stringify( { prevIndex, activeIndex }, null, 2 ); }; next.onclick = () => { moveSlider("right"); }; prev.onclick = () => { moveSlider("left"); }; window.onresize = setImagesContainerPosition; veja exemplo rodando aqui: https://codepen.io/washalbano/pen/ExrKGYZ
-
tente assim: const resposta = await dados.json(); A função carregar_cidade, não coloca a <ul> criada em lugar algum da página atual. Um controller que vai devolver um json, não precisa carregar uma view. Se estiver extendendo do BaseController, use o $response que ele inicia, assim: return $this->response->setStatusCode(200) ->setContentType('application/json') ->setJSON($seu_array_de_dados);
-
- autocomplete
- json
-
(e mais 1 )
Tags:
-
Olá! Se entendi... não precisa repetir os trechos de js Veja se era isso: <div class="slider-kind first"> <div class="images-container"> <a href="link5.php" target="_blank"><img src="https://picsum.photos/600/300?random=1" /></a> <a href="link6.php" target="_blank"><img src="https://picsum.photos/600/300?random=2" /></a> <a href="link7.php" target="_blank"><img src="https://picsum.photos/600/300?random=3" /></a> <a href="link8.php" target="_blank"><img src="https://picsum.photos/600/300?random=4" /></a> </div> </div> <div class="slider-kind second"> <div class="images-container"> <a href="link1.php" target="_blank"><img src="https://picsum.photos/400/200?random=5" /></a> <a href="link2.php" target="_blank"><img src="https://picsum.photos/400/200?random=6" /></a> <a href="link3.php" target="_blank"><img src="https://picsum.photos/400/200?random=7" /></a> <a href="link4.php" target="_blank"><img src="https://picsum.photos/400/200?random=8" /></a> </div> </div> <div class="slider-kind third"> <div class="images-container"> <a href="link1.php" target="_blank"><img src="https://picsum.photos/700/200?random=9" /></a> <a href="link2.php" target="_blank"><img src="https://picsum.photos/700/200?random=10" /></a> <a href="link3.php" target="_blank"><img src="https://picsum.photos/700/200?random=11" /></a> <a href="link4.php" target="_blank"><img src="https://picsum.photos/700/200?random=12" /></a> </div> </div> .slider-kind { display: flex; justify-content: center; height: 300px; } .slider-kind.second { height: 200px; } .slider-kind .images-container img { position: absolute; transform: translateX(-50%); z-index: 1; transition: all 0.2s ease; opacity: 0; } .slider-kind .images-container img[active] { z-index: 2; animation: fadeIn 0.3s ease forwards; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } function setActiveSlide(container) { const images = container.querySelectorAll('img') const removeActiveAttribute = () => images.forEach(image => image.removeAttribute('active')) const toggleSlide = indexImageToActivate => { removeActiveAttribute() images[indexImageToActivate].setAttribute('active', true) } const indexActive = Math.floor(Math.random() * images.length) toggleSlide(indexActive) } function makeSliderKind(selector, intervalTime) { const imagesContainer = document.querySelector(selector) let intervalRef = setInterval(() => setActiveSlide(imagesContainer), intervalTime) } makeSliderKind('.first', 1500) makeSliderKind('.second', 2500) makeSliderKind('.third', 500) https://codepen.io/washalbano/pen/VwqxMvw
-
Olá! Segue sugestão: https://codepen.io/washalbano/pen/NWELpbv let selectedElement const arrowUp = document.getElementById('id1') const arrowDown = document.getElementById('id2') // define o elemento select const select = document.getElementById('carros') // quando o select sofrer alteração select.onchange = (e) => { // define o index selecionado const selectedIndex = e.target.selectedIndex selectedElement = select.options[selectedIndex] } function setaPraCima() { if ((prevElement = selectedElement.previousElementSibling)) { select.insertBefore(selectedElement, prevElement) } } function setaPraBaixo() { if ((nextElement = selectedElement.nextElementSibling)) { select.insertBefore(nextElement, selectedElement) } } arrowUp.onclick = setaPraCima arrowDown.onclick = setaPraBaixo
-
Olá! Você pode usar uma expressão regular para trazer somente os resultados onde a coluna codigo contenha somente e apenas números, usando uma regex, assim: SELECT * FROM tab_aprendiz WHERE codigo REGEXP '^[0-9]+$';
-
Olá! Primeira sugestão é ajustar o texto no seu database, para que visualize corretamente. Como o colega sugeriu acima, no mysqli, se define utf-8 para a conexão assim: // definição de variáveis para conexão $host = 'localhost'; // servidor $user = 'root'; // nome do utilizador $pass = 'my-secret-pw'; // senha ou password $database = 'imasters'; // nome da base de dados // estabelecer conexão: $sqli = new mysqli($host, $user, $pass); // definir o padrão de caracteres $sqli->set_charset('utf8'); // selecionar/abrir o banco de dados para trabalhar $sqli->select_db($database)
- 6 respostas
-
- acentuação
- acentuação mysql
- (e mais 2 )
-
Olá! Testei aqui e funcionou muito bem. Veja: <?php // definição de variáveis para conexão $host = 'localhost'; // servidor $user = 'root'; // nome do utilizador $pass = 'my-secret-pw'; // senha ou password $database = 'studies'; // nome da base de dados // estabelecer conexão: $sqli = new mysqli($host, $user, $pass); // verificando se conectou de boas: if ($sqli->connect_error) { // se houver alguma falha, exibe mensagem: die('<p class="text-danger">Falha na conexão: ' . $sqli->connect_error . '</p>'); } // definir o padrão de caracteres if (!$sqli->set_charset('utf8')) { // se não conseguir definir o padrão de caracteres, exibe o padrão disponível die("<p class='text-danger'>Seu charset não é utf8, chefe!<br>$sqli->character_set_name()</p>"); } // selecionar/abrir o banco de dados para trabalhar if (!$sqli->select_db($database)) { // se o banco de dados não for encontrado die("<p class='text-danger'>Banco de dados não encontrado, chefe!</p>"); } $query = "SELECT count(*) AS totalNumberOfTables FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '$database'"; $result = $sqli->query($query); if ($result->num_rows > 0) { echo '<pre>$totalNumberOfTables: '; print_r($result->fetch_all(MYSQLI_ASSOC)); echo '</pre>'; }
-
Não consegui usar o comando for do JavaScript
washalbano respondeu ao tópico de Frank K Hosaka em PHP
Olá! Não consegui entender. No final, conseguiu ou não? -
Dois arquivos com a mesma sintaxe mas só um funciona - Erro 500
washalbano respondeu ao tópico de chinesedg em PHP
Olá! Certifique-se de que a exibição de erros está ativa. Pode ser falha na conexão com o database. -
Olá! Aparentemente, uma falha na lógica. Uma vez que um user logado só pode acessar o que lhe é permitido, toda e qualquer query deverá conter alguma variável limitadora de acordo com o user logado. Desta forma, um user não terá acesso a algo que ñ lhe é permitido. Quando montar a query de paginação, passe um where unidade = '$unidade-do-user-logado'
-
Olá! O ideal seria nos dizer o que precisa fazer. Talvez apareça uma orientação ideal. Para continuar como está, primeiro é preciso descobrir qual é o conteúdo de $turma. Se o trecho de código exibo funciona, acredito que seria +- assim: Usando a posição você teria os nomes <?=$turma[0]['nome']?> <?=$turma[1]['nome']?> <?=$turma[2]['nome']?>
-
Olá! Há uma pá de adequações a serem feitas, para se ter um código mais "robusto". Mas tentando ir direto ao ponto... perceba que nesta linha você coloca um sinal de igual nesta linha você espera receber a variável id_estado tente assim: fetch("select_cons_municipio.php?id_estado=" + valor) e veja se a mensagem de erro muda
-
|| [] duas barras antes de um arrray
washalbano respondeu ao tópico de André Barbosa Lima em Desenvolvimento frontend
A duas pipebars significam ou logo, cart será igual ao resultado do JSON.parse ou um array vazio: [] Se JSON.parse falhar, retornar null, undefined, false... é igual se usa no if if(false OR true) if(false || true) -
Para requisições concorrentes, desde que se use transactions, não há problema algum. https://www.php.net/manual/pt_BR/pdo.transactions.php https://www.php.net/manual/pt_BR/mysqli.begin-transaction.php Desta forma, nenhuma requisição causará interferência em outra, mesmo que sejam requisitadas no exato mesmo instante