Ir para conteúdo
Username_

PHP e Javascript

Recommended Posts

Olá,

 

Eu tenho um código que implementa um 'contador' em Javascript. Ele atualiza na tela de 1 em 1 segundos, conta até 60 e adiciona 3 turnos na variável 'Turno'.

 

Eu consegui imprimir a variável 'Turno' que está em Javascript no PHP(está no código postado).

 

Porém eu gostaria que o código em PHP estivesse integrado com o código em Javascript para utilizar o contador em Javascript. Como eu faço essa integração entre PHP e Javascript?

 

Código:


<html>
<head>
<title>Título</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<style type="text/css">
.texto {color:#B000FF;}
	
.static
{
	position:static;
}
.contador
{
	position: relative;
	top: 0px;
	left: 30px;
	background-color: black;
	color: white;
	width: 130px;
	height: 30px;	
}
.PalavraTempo
{
	position: relative;
	position: center;
	top: 70px;
	left: 30px;
	background-color: black;
	color: white;
	width: 130px;
	height: 30px;	
}
.TurnosDisponiveis
{
	position: relative;
	position: center;
	top: 100px;
	left: 30px;
	background-color: black;
	color: white;
	width: 130px;
	height: 30px;	
}
.Turnos
{
	position: relative;
	position: center;
	top: 100px;
	left: 30px;
	background-color: black;
	color: white;
	width: 130px;
	height: 30px;	
}
.php
{
	position: relative;
	position: center;
	top: 100px;
	left: 30px;
	background-color: black;
	color: white;
	width: 130px;
	height: 30px;	
}
</style>
</head>
<body>

<div class="PalavraTempo">
Tempo
</div>

<div class="TurnosDisponiveis">
Turnos Disponíveis:
</div>

<div class="Turnos">

</div>

<div class="contador">

<script type="text/javascript">

	

var intervalo = window.setInterval('funcao()',1000);
var contador = 0;
var Turno = 0;

function funcao()
{ 
   //window.alert("Ola");
   //document.write("Ola mundo");
   //document.write(intervalo);
   while (contador <= 60)
   {   
	   if (contador == 60)
	   {
	      contador = 0;
		  Turno = Turno + 3;
		  break;
		  //document.write("<br>"); 
		  
	   }
	   elementosHTML = document.getElementsByClassName("contador");
	   //document.write("<div class='relativo'>");
	   //document.write(contador);	
	   elementosHTML[0].innerHTML = "   " + " " +contador;
	   
	   turnosHTML = document.getElementsByClassName("Turnos");
	   turnosHTML[0].innerHTML = " " +Turno + "";
	   //window.location.reload();
	   //document.write("</div>");
	   contador++;
	   //window.location.reload();
	   break;
   }
   
}
</script>
<div class="php">
<?php
$variavelphp = "<script type='text/javascript'> document.write(Turno) </script>";
echo "Teste $variavelphp";
?>
</body>
</html>

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu consegui colocar o código Javascript dentro do PHP usando "echo". Porém o PHP continua sem conseguir fazer uso do contador que está dentro do javascript. Será que eu teria que criar um contador em PHP?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Porque este código não funciona? Quando misturo PHP com Javascript este código não funciona.

 

<?php 
	  $msg = "Texto";
?>
<div class="contador">

<script type='text/javascript'>


var intervalo = window.setInterval('funcao()',1000);
var contador = 0;
var Turno = 0;

function funcao()
{ 
  
   while (contador <= 60)
   {   
	   if (contador == 60)
	   {
	      contador = 0;
		  Turno = Turno + 3;
		  break;
	   }
	   elementosHTML = document.getElementsByClassName('contador');
	   elementosHTML[0].innerHTML = '   ' + ' ' +contador;
	   
	   turnosHTML = document.getElementsByClassName('Turnos');
	   turnosHTML[0].innerHTML = ' ' +Turno + '';
	   
	   contador++;
       alert(<php echo '$msg'; ?>);  // Aqui faz o código Javascript não funcionar
	   break;
   }
}   

</script>

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque php é server-side e não tem essas paradas de animação e tal. talvez seja o caso de usar jquery pra fazer uma requisição ajax e exibir o que a pagina php enviar

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Andrelirasp
      Tenho uma página onde exibe livros registrados, eu gostaria de fazer uma outra focada em busca para buscar dados nas tabelas.
       
      Gostaria de fazer um sistema de busca onde buscaria dados digitados de acordo com a categoria selecionada, porém não sei por onde começo.
      Eu gostaria de adicionar a opção de **filtrar** por **categoria** seguida de um `_<input type="text">_` para o usuário selecionar a categoria e escrever o que ele quer buscar, a categoria no caso seriam as tabelas:
          <select name="opcao_filtro">
                     <option value="nulo">--</option>                
                     <option value="titulo">Título</option>
                     <option value="autor">Autor</option>
                     <option value="tema">Tema</option>
                     <option value="editora">Editora</option>
                     <option value="indice">Índice</option>
          </select>

      Logo abaixo teria o input:
          <input type="text" name="busca" id="busca"> // Procurar em tabela tal, tal coisa
          <input type="submit" value="Procurar">
       
      E depois(opcional para o usuário) buscar por letras(funcionaria junto com o filtro de categorias):
          <a href="url">A</a>
          <a href="url">B</a>
      **Exemplo**: Usúario escolheu filtrar por título e quando ele clica na letra _" A "_ buscasse entre a categoria e exibisse os resultados dos títulos que comesse com a letra selecionada.
    • Por Mateus Duarte
      Estou com um problema, meu site mostra notificações apenas se for acessado pelo computador. Quando acessado pelo celular, ele pede para ativar as notificações, porem ele não mostra.
       
      Codigo da função:
      (function(global, factory) { "use strict"; if (typeof define === "function" && define.amd) { define(function() { return new(factory(global, global.document)) }) } else if (typeof module !== "undefined" && module.exports) { module.exports = new(factory(global, global.document)) } else { global.Push = new(factory(global, global.document)) } })(typeof window !== "undefined" ? window : this, function(w, d) { var Push = function() { var self = this, isUndefined = function(obj) { return obj === undefined }, isString = function(obj) { return String(obj) === obj }, isFunction = function(obj) { return obj && {}.toString.call(obj) === "[object Function]" }, currentId = 0, incompatibilityErrorMessage = "PushError: push.js is incompatible with browser.", hasPermission = false, notifications = {}, lastWorkerPath = null, closeNotification = function(id) { var errored = false, notification = notifications[id]; if (typeof notification !== "undefined") { if (notification.close) { notification.close() } else if (notification.cancel) { notification.cancel() } else if (w.external && w.external.msIsSiteMode) { w.external.msSiteModeClearIconOverlay() } else { errored = true; throw new Error("Unable to close notification: unknown interface") } if (!errored) { return removeNotification(id) } } return false }, addNotification = function(notification) { var id = currentId; notifications[id] = notification; currentId++; return id }, removeNotification = function(id) { var dict = {}, success = false, key; for (key in notifications) { if (notifications.hasOwnProperty(key)) { if (key != id) { dict[key] = notifications[key] } else { success = true } } } notifications = dict; return success }, createCallback = function(title, options) { var notification, wrapper, id, onClose; options = options || {}; self.lastWorkerPath = options.serviceWorker || "sw.js"; if (w.Notification) { try { notification = new w.Notification(title, { icon: isString(options.icon) || isUndefined(options.icon) ? options.icon : options.icon.x32, body: options.body, tag: options.tag, requireInteraction: options.requireInteraction }) } catch (e) { if (w.navigator) { w.navigator.serviceWorker.register(options.serviceWorker || "sw.js"); w.navigator.serviceWorker.ready.then(function(registration) { registration.showNotification(title, { body: options.body, vibrate: options.vibrate, tag: options.tag, requireInteraction: options.requireInteraction }) }) } } } else if (w.webkitNotifications) { notification = w.webkitNotifications.createNotification(options.icon, title, options.body); notification.show() } else if (navigator.mozNotification) { notification = navigator.mozNotification.createNotification(title, options.body, options.icon); notification.show() } else if (w.external && w.external.msIsSiteMode()) { w.external.msSiteModeClearIconOverlay(); w.external.msSiteModeSetIconOverlay(isString(options.icon) || isUndefined(options.icon) ? options.icon : options.icon.x16, title); w.external.msSiteModeActivate(); notification = {} } else { throw new Error("Unable to create notification: unknown interface") } id = addNotification(notification); wrapper = { get: function() { return notification }, close: function() { closeNotification(id) } }; if (options.timeout) { setTimeout(function() { wrapper.close() }, options.timeout) } if (isFunction(options.onShow)) notification.addEventListener("show", options.onShow); if (isFunction(options.onError)) notification.addEventListener("error", options.onError); if (isFunction(options.onClick)) notification.addEventListener("click", options.onClick); onClose = function() { removeNotification(id); if (isFunction(options.onClose)) { options.onClose.call(this) } }; notification.addEventListener("close", onClose); notification.addEventListener("cancel", onClose); return wrapper }, Permission = { DEFAULT: "default", GRANTED: "granted", DENIED: "denied" }, Permissions = [Permission.GRANTED, Permission.DEFAULT, Permission.DENIED]; self.Permission = Permission; self.Permission.request = function(onGranted, onDenied) { if (!self.isSupported) { throw new Error(incompatibilityErrorMessage) } callback = function(result) { switch (result) { case self.Permission.GRANTED: hasPermission = true; if (onGranted) onGranted(); break; case self.Permission.DENIED: hasPermission = false; if (onDenied) onDenied(); break } }; if (w.Notification && w.Notification.requestPermission) { Notification.requestPermission(callback) } else if (w.webkitNotifications && w.webkitNotifications.checkPermission) { w.webkitNotifications.requestPermission(callback) } else { throw new Error(incompatibilityErrorMessage) } }; self.Permission.has = function() { return hasPermission }; self.Permission.get = function() { var permission; if (!self.isSupported) { throw new Error(incompatibilityErrorMessage) } if (w.Notification && w.Notification.permissionLevel) { permission = w.Notification.permissionLevel } else if (w.webkitNotifications && w.webkitNotifications.checkPermission) { permission = Permissions[w.webkitNotifications.checkPermission()] } else if (w.Notification && w.Notification.permission) { permission = w.Notification.permission } else if (navigator.mozNotification) { permission = Permissions.GRANTED } else if (w.external && w.external.msIsSiteMode() !== undefined) { permission = w.external.msIsSiteMode() ? Permission.GRANTED : Permission.DEFAULT } else { throw new Error(incompatibilityErrorMessage) } return permission }; self.isSupported = function() { var isSupported = false; try { isSupported = !!(w.Notification || w.webkitNotifications || navigator.mozNotification || w.external && w.external.msIsSiteMode() !== undefined) } catch (e) {} return isSupported }(); self.create = function(title, options) { if (!self.isSupported) { throw new Error(incompatibilityErrorMessage) } if (!isString(title)) { throw new Error("PushError: Title of notification must be a string") } if (!self.Permission.has()) { return new Promise(function(resolve, reject) { self.Permission.request(function() { try { resolve(createCallback(title, options)) } catch (e) { reject(e) } }, function() { reject("Permission request declined") }) }) } else { return new Promise(function(resolve, reject) { try { resolve(createCallback(title, options)) } catch (e) { reject(e) } }) } }; self.count = function() { var count = 0, key; for (key in notifications) { count++ } return count }, self.__lastWorkerPath = function() { return self.lastWorkerPath }, self.close = function(tag) { var key; for (key in notifications) { notification = notifications[key]; if (notification.tag === tag) { return closeNotification(key) } } }; self.clear = function() { var i, success = true; for (key in notifications) { var didClose = closeNotification(key); success = success && didClose } return success } }; return Push }); Como faço para mostrar as notificações pelo celular?
    • Por juliosertori
      Olá boa noite, procurei e não encontrei algo relacionado.
       
      Tenho um Input onde vou mostrar valores somados, e tenho outros input que tem os valores. Existe a possibilidade, de após um evento, ele mandar o valor do input de preços, a somar com o valor já existente ao input de total de valores?
    • Por juliosertori
      Olá boa noite galera, tenho um Repeat que incrementa Preço e Quantidade de um produto.
       
      Estou tentando fazer multiplicação do "preço" * "quantidade" de cada linha do Repeat mas ainda não encontrei uma forma de fazer isso, já que os campos são repetidos com IDS iguais.
       
      A única diferença nos campos é que se cria um Array por exemplo, name="preco[0]", assim por diante.
       
      Mas não tem um Looping para eu criar cada script para multiplicação dos campos e acredito que não seja a maneira correta.
       
      Estou fazendo assim o calculo funciona:
       
      $(document).on('keyup', 'input[id="qtdProds"]', function(){ var tr = $(this).closest('#add_item_list'); var qtde = tr.find('input[id="precoProds"]').val(); var qtde = qtde.toString().replace( "R$ ", "" ); var qtde = qtde.toString().replace( ",", "" ); var vlrunt = $(this).val(); if (qtde && vlrunt){ tr.find('input[id="totalProds"]').val(parseFloat(vlrunt) * parseFloat(qtde)); parseFloat(String('123.456').replace(/[^\d\.]/g, "")).toFixed(2); } }); O problema é que assim da "bug" logicamente, pois não está sendo feito para cada linha do repeat, e sim todos campos com mesmo nome.
       
      Alguém tem uma ideia de como posso fazer isso?
       
      Obrigado!
    • Por clickanapolis
      Pessoal eu estou criando um filtro de busca e quando eu seleciono por exemplo estado e envio via GET estado=CEARÁ
      o problema que o cliente pediu que possa ter mais de um estado, mais ai quando envio por exemplo:
      estado=CEARÁ&estado=GOIÁS
       
      Minha duvida é como fazer a query consultar os 2 estados.
×

Informação importante

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