-
Total de itens
369 -
Registro em
-
Última visita
-
Dias vencidos
11
Tudo que washalbano postou
-
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
- 2 respostas
-
- 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
-
<style> *{ font-family: sans-serif; } </style> <?php // SCRIPT PARA CALCULAR QUANTAS PLACAS DE Xm² cabem num espaço de Ym² // e quantas placas adicionais serão necessárias para cobrir o espaço restante, se existir // plate's size in m² $platesSize = 5; // total area to cover in m² $totalArea = 171; // calc how many complete plates are needed to cover the area $completePlatesNeeded = floor($totalArea / $platesSize); // calc uncovered area $uncoveredAreaSize = $totalArea % $platesSize; echo "<p>Área total: <b>{$totalArea}m²</b></p>"; echo "<p>Tamanho de cada placa: <b>{$platesSize}m²</b></p>"; echo "<p>Placas completas necessárias: <b>{$completePlatesNeeded}</b></p>"; echo "<p>Área restante não coberta: <b>{$uncoveredAreaSize}m²</b></p>"; // if unvered area exists, calculate how many plates are needed if ($uncoveredAreaSize > 0) { $adicionalPlatesNeeded = ceil($uncoveredAreaSize / $platesSize); echo "<p>Placas adicionais necessárias: <b>{$adicionalPlatesNeeded}</b></p>"; }
-
Olá! Não fui capaz de entender a questão Nesse if, não vai ser considerado o 5, apenas os 6, 7, 8, 9 e 10 e 6, 7, 8, e 9, não são múltiplos de 5 Consegue descrever melhor o que precisa ser feito?
-
Olá! Segue sugestão: index.php <?php $ids = [ 'asdf-1234', '4312-fasdf', '1zxc-3asd', ]; $links = ''; foreach ($ids as $id) { $links .= "<a href='pagina.php?id={$id}'> pagina {$id} </a>"; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ajax Loading HTML</title> <style> body{ background-color: #eee; } nav{ display: flex; } nav a{ padding:12px; } #conteudo{ border:thin solid goldenrod; border-radius:8px; background-color: #fff; padding:12px; box-shadow:1px 1px 5px rgba(0,0,0,.2); } </style> </head> <body> <nav><?=$links?></nav> <main> <h3>Conteúdo:</h3> <div id="conteudo"></div> </main> <script> const anchors = document.querySelectorAll('nav a'); const ajaxLoadHTML = async (e)=>{ e.preventDefault(); const link = e.target.getAttribute('href') const response = await fetch(`api/${link}`).then(response=>response.text()) conteudo.innerHTML = response } for(const anchor of anchors){ anchor.addEventListener('click', ajaxLoadHTML) } </script> </body> </html> api/pagina.php <?php echo '<pre>Conteúdo da página com id: '; print_r($_GET); echo '</pre>'; exit(__FILE__.' at line: '.__LINE__);
-
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:
-
Coloque uma condição para verificar se $parcpg é maior que zero Se não for, qual deve ser o valor de $valorparcelado? $valorparcelado = $parcpg > 0 ? $valente / $parcpg : $oValorQueDeveSer;
-
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
-
blz @gersonab?
-
-
Não precisa gerar um arquivo .json Apenas devolver o array com o resuldado do database, em formato json. <?php // treat this as json header('Content-Type: application/json'); // handle the request if (!isset($_GET['category']) || !preg_match('/^[A-Z]$/', $_GET['category'])) { // clear the old headers header_remove(); // set the actual http response code http_response_code(404); // ok, validation error, or failure header('Status: 404 Not Found'); exit(); } // consider this is a database $database = [ 'A' => [ [ 'id' => 'A-123', 'name' => 'Produtc 01 from Category A' ], [ 'id' => 'A-234', 'name' => 'Produtc 02 from Category A' ], [ 'id' => 'A-345', 'name' => 'Produtc 03 from Category A' ], [ 'id' => 'A-456', 'name' => 'Produtc 04 from Category A' ] ], 'B' => [ [ 'id' => 'B-123', 'name' => 'Produtc 01 from Category B' ], [ 'id' => 'B-234', 'name' => 'Produtc 02 from Category B' ], [ 'id' => 'B-345', 'name' => 'Produtc 03 from Category B' ], ], 'C' => [ [ 'id' => 'C-123', 'name' => 'Produtc 01 from Category C' ], [ 'id' => 'C-234', 'name' => 'Produtc 02 from Category C' ], ], 'D' => [], ]; die(json_encode($database[$_GET['category']])); veja o exemplo em: https://github.com/w-studies/ajax-json
-
Não seria mais "econômico", ao invés de trafegar todo esse html, entregar apenas um json? E no front, a cada changeEvent, montar o outro select conforme necessário, via js? Econômico, inteligente e reusável, pq com os dados em json, você pode alimentar o que quiser, e não somente um select.
-
simulador de tamanho Calcular quantos quadros 5x5cm cabe em uma folha base de A4 simulando total.
washalbano respondeu ao tópico de mamotinho em PHP
- 12 respostas
-
- javascript
- php
- (e mais 1 )
-
simulador de tamanho Calcular quantos quadros 5x5cm cabe em uma folha base de A4 simulando total.
washalbano respondeu ao tópico de mamotinho em PHP
Ajustei! Percebi que no Opera funciona, no Chrome funciona, no Edge funciona. Mas no Firefox não funciona. veja: https://codepen.io/washalbano/full/KKrjBzN- 12 respostas
-
- javascript
- php
- (e mais 1 )
-
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.