Ir para conteúdo
Fórum Script Brasil

Marcio Marins

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que Marcio Marins postou

  1. Estou tentando criar uma aplicação online com PHP e JavaScript (Ajax) e a API do YouTube. Basicamente, quero que os vídeos do meu canal rodem em uma "SECTION" da minha aplicação. Quando digito o código, previamente cadastrado em banco de dados com as informações do vídeo, e clico em um PLAY o vídeo é carregado na "SECTION" (id=player-on). Na primeira vez, o vídeo aparece e roda perfeitamente, mas se eu digitar outro código, o próximo vídeo não carrega. Tentei retirar "window.addEventListener("load", (event) => {" do JavaScript e criar uma função e chamá-la diretamente no input "PLAY", mas também não funcionou. Ou seja, eu teria que atualizar a pagina toda para poder rodar outro vídeo e isso não é interessante. Alguém poderia ajudar? PÁGINA QUE EU ESCOLHERIA VÍDEO: index.php <script> window.addEventListener("load", (event) => { var botao = document.querySelector("#btn_cantar"); var codigo_musica = document.querySelector("#codigo_musica"); codigoLength = codigo_musica.value.length; botao.addEventListener("click", (event) => { if (codigoLength < 4) { $("#player-on").html(""); console.log("menor"); } if (codigoLength == 4) { primary = { codigo: codigo_musica.value, }; $.ajax({ type: 'post', url: "player.php", data: primary }).done(function(retorno) { $("#player-on").html(retorno); }); } else { alert("É necessário escolhe uma música!"); } }); }); function buscaVideo(input) { codigoLength = input.value.length; primary = { codigo: input.value, }; //SE O TAMANHO DO CODIGO FOR MENOR QUE 4 CARACTARES LIMPA O BOX DE LISTAGEM DE MUSICAS if (codigoLength < 4) { $("#lista_videos").html(""); console.log("menor"); } //SE O TAMANHO DO CODIGO FOR = A 4 CARACTARES CARREGA A PAGINA DE LISTAGEM DE MUSICAS if (codigoLength == 4) { $.ajax({ type: 'post', url: "busca_videos.php", data: primary }).done(function(retorno) { $("#lista_videos").html(retorno); }); } } </script> <section id="start" class="mx-auto py-5 col-2 float-start"> <div class="row"> <label class="col-12 text-center text-white fs-4 my-3">Enter with Code</label> </div> <div class="row"> <div class="col-10 mx-auto text-center"> <input id="codigo_musica" onkeyup="buscaVideo(this)" class="form-control text-center py-1 fs-4 border-5 rounded-5 " maxlength="4" type="text" id="codigo" value="" name="codigo" placeholder="Digite o código da música" autocomplete="off"> <button id="btn_cantar" class="p-3 fs-4 btn btn-primary my-5 rounded-5" type="buttom">PLAY</button> </div> </div> <div class="row"> <!-- SHOWS THE NAME OF THE CHOSEN VIDEO --> <div id="lista_videos" class="col-10 rounded-5 fs-3 bg-white mx-auto border-5 text-center p-2 text-center"> </div> </div> </section> <!-- SHOW THE CHOSEN VIDEO --> <section id="player-on" class="col-10 float-end bg-primary"> </section> PÁGINA QUE SERÁ CARREGADA: <div class="row"> <div class=""> <div id="player"></div> </div> </div> <script> (function() { var player; var height = window.screen.height; var width = window.screen.width; window.onYouTubeIframeAPIReady = function() { player = new YT.Player('player', { height: height, width: width, videoId: '<?= $video["id_video"] ?>', events: { 'onReady': onPlayerReady }, playerVars: { 'playsinline': 1 }, }); // player.getPlayerState(); }; // 4. Executa o play quando o video estiver pronto function onPlayerReady(event) { event.target.playVideo(); } var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); })(); </script> LAYOUT BÁSICO:
  2. Oi, bom dia! Sua solução parece bem adequada .. estou tentando implantar. Esbarrei aqui: $row = $query->fetch_assoc()... Eu utilizo uma classe para fazer o select: public function Listar() {//LISTAR REGISTROS $query = "(SELECT * FROM {$this->entity->getTable()} {$this->entity->getTermos()})"; //var_dump($query); //print_r($query); $stmt = $this->db->prepare($query); $stmt->execute(); if ($stmt->rowCount() <= 0) { return FALSE; } else { return $stmt->fetchAll(\PDO::FETCH_OBJ); } } Então eu não sei como igualar a $row com este retorno. Mas desde já agradeço muito sua ajuda! Obrigado Pela força! Estou tentando ajustar aqui. Obrigado por sua contribuição. Vou levar em consideração!
  3. Saudações a todos! Estou fazendo um controle de almoxarifado (PHP e MYSQL). Nele, tenho as tabelas "item" , "pedidos", "saidas" e "entradas". De um determinado item, pode haver apenas uma saída por pedido, porém pode haver varias entradas deste item. UM usuário pede 10 resmas de papel mas deste papel eu tenha entradas mais antigas que as outras (um entrada com 3 resmas e outras com 20). Eu preciso retirar 3 resmas da primeira entrada e 7 da segunda atualizado seus valores. ENTRADAS SAIDAS RESULTADOS DAS PEQUISADOS Tentei estes foreach aninhados, mas não sei como diluir o valor da saída em duas entradas diferentes automaticamente. Como a quantidade solicitada é 4 e eu tenho a primeira entrada com 2 unidades, tinha que aparecer 2 no primeiro e o resto no segundo aproveitando a segunda entrada. Quando outro pedido fosse feito deste mesmo item, só apareceria a segunda entrada com 3 unidades disponíveis porque dela teriam sido retiradas duas unidades no pedido anterior. Desculpem se me alonguei muito!! foreach ($saidas as $s) { $linha = "<div class='linha_item row col-12 input-group text-center ' >"; $linha .= "<input id='item_$s->id' type='hidden' name='id_item[$s->id]' sue='' />"; $linha .="<div class='contagem form-control pl-5'>"; $linha .= $numerar++; $linha .="</div>"; $linha .="<div class='desc form-control '>"; $linha .= $s->nome; $linha .="</div>"; $linha .="<div class='fornecimento form-control '>"; $linha .= $s->fornecimento; $linha .="</div>"; $linha .="<div class='fornecimento form-control '>"; $linha .= $s->qtd_solicitada; $linha .="</div>"; $linha .="</div>"; $linha .= "<div class='linha_item row col-12 input-group text-center ' >"; $linha .="</div>"; echo $linha; $ent = NEW Implementa(); $ent->setTable("entradas"); $ent->setTermos(" WHERE id_item = " . $s->id_item . " AND qtd > qtd_consumida ORDER BY data_entrada ASC "); $exec_ent = NEW ServiceDb($ent); $entradas = $exec_ent->listar(); echo "<span class='mt-1 ml-4'>Entradas</span>"; foreach ($entradas as $e) { $linha = "<div class=' col-12 input-group text-center ml-3 ' >"; $linha .="<div class='contagem form-control '>"; $linha .= "Data:" . $data->Fdb($e->data_entrada); $linha .="</div>"; $linha .="<div class='contagem form-control '>"; $linha .= "Quantidade: " . $e->qtd; $linha .="</div>"; $linha .="<div class='contagem form-control '>"; $linha .= "Valor: " . $e->valor_unitario; $linha .="</div>"; $linha .="<div class='contagem form-control '>"; $linha .= "Sair com: <input id='item_$e->id' type='text' name='id_item[$s->id]' value='$s->qtd_solicitada' />"; $linha .="</div>"; $linha .="</div>"; $linha .="</div>"; echo $linha; } echo "<br />"; }
×
×
  • Criar Novo...