Jump to content
Daltonspider

Como coloco imagem de fundo usando funções php?

Recommended Posts

Nao sei te diz

2 minutos atrás, Eziquiel disse:

Beleza. Onde estava o problema? Faltava a tag na <head>?

 

Nao sei te dizer! creio que era só dificuldade em o chrome mobile de renovar o cache, foi so eu sair e entrar do navegador funcionou!!

Share this post


Link to post
Share on other sites

Grande mestre, uma ultima pergunta, eu poderia tirar aquele onclick e fazer uma condição para os item que estão disponiveis, pois quando clico no item indisponível, ele ainda aparece a mensagem do item disponível para so depois aparecer que esta indisponível.. Estava pensando em fazer o disponível como você fez o indisponivel.. daria certo?

Share this post


Link to post
Share on other sites

Sim. Se quiser fazer algo específico para os disponíveis, use a mesma lógica.

Aí retire o evento onclick que você havia criado.

 

$('.disponivel').click(function(){
        alert('Mensagem para produto disponível');
      });

Se não quiser nenhuma mensagem para os disponíveis, apenas retire o evento onclick que você havia criado e mantenha este que lhe passei.

  • +1 1

Share this post


Link to post
Share on other sites

Tem como eu colocar para os disponiveis ao inves de um alert, colocar um confirmar? pq quando o usuario clica no produto disponivel ele pede se você tem certeza que quer esse produto, e o indisponivel apenas fala que esta indisponivel. No caso como seria esse 

 onclick="return confirm('<?php echo $nomepro ?> - CONFIRMA O PEDIDO?')"

no lugar do alert?

Share this post


Link to post
Share on other sites

Pode sim. Pode usar assim, se quiser...

 

$('.disponivel').click(function(){
	var retorno = confirm('<?php echo $nomepro ?> - CONFIRMA O PEDIDO?')";
	if (retorno == true) {
		//faça algo
	} else {
		//faça algo
	}
});

Só tem um porém! Pode ser que tenha um problema com o "$nomepro", que poderá retornar o nome errado. Tente aí!

Share this post


Link to post
Share on other sites
8 minutos atrás, Eziquiel disse:

Pode sim. Pode usar assim, se quiser...

 


$('.disponivel').click(function(){
	var retorno = confirm('<?php echo $nomepro ?> - CONFIRMA O PEDIDO?')";
	if (retorno == true) {
		//faça algo
	} else {
		//faça algo
	}
});

Só tem um porém! Pode ser que tenha um problema com o "$nomepro", que poderá retornar o nome errado. Tente aí!

Notei um problema :/ ele cadastra do mesmo modo o produto indisponivel, pq é um link que chama o insert ai pensei em algo assim, nao entendo nda de js, rsrs mas quando fiz os produtos perdem o link para inserir na tabela clica e nao acontece nda deles, veja como fiz( desculpe tomar seu tempo)

 

	<?php

  
	
	
		$sqlp = mysql_query("SELECT * FROM produtos WHERE id_categoria='11'");
		while($verp = mysql_fetch_array($sqlp)){
			$disponivel = $verp['disponivel'];
			$id_pro = $verp['cod'];
			$nomepro = $verp['nome'];
			$descpro = $verp['descricao'];
			$precopro = $verp['preco'];
			
			
			$classe = ($disponivel == "SIM")? "disponivel" : "indisponivel";
					
			
			if($disponivel == SIM){
				$img = "../imagens/disponivel.png";	
				
				
			}else{
			$img = "../imagens/indisponivel.png";
			
			}
	

	?>
	
	<script>
	$('.indisponivel').click(function(){
  alert('Produto indisponível no momento');
});

$('.disponivel').click(function(){
	var retorno = confirm('<?php echo $nomepro ?> - CONFIRMA O PEDIDO?')";
	if (retorno == true) {
		echo "cadastra.php?cod=<?php echo $id_pro ?>&nome=<?php echo $nomepro ?>&preco=<?php echo $precopro ?>&qtd=1&mesa=<?php echo $idmesa ?>&idGarcon=<?php echo $mostra['idGarcon']; ?>&destino=<?php echo $destino ?>"
	} else {
		header("Location:inicio.php");
	}
});
	</script>
	
	
	
	
	

	<div class="container-fullscreen heading-style-3 <?php echo $classe ?>" style="background-image:url(<?php echo $img ?>); background-size: cover;">
	
   
   
   <center> 
		
	<h3 class="heading-title"><?php echo $nomepro ?>&nbsp R$<?php echo $precopro ?></h3>
	<em class="heading-subtitle"><?php echo $descpro ?></em>
    
	</center>
   
   </div>

Nao sei onde coloco a <a href pra funcionar essa ideia..

 

Share this post


Link to post
Share on other sites

Veja bem. Há diversas divs que se repetem por meio de um while.

Cada produto tem um id, certo? E cada produto tem um nome, certo?

Então faça o seguinte: coloque no "id" da div mesmo ID do seu produto...

coloque também no "name" da sua div o nome do seu produto.

Exemplo:

 

<div id="<?php echo $id_pro ?>" name="<?php echo $nomepro ?>" class="container-fullscreen heading-style-3 <?php echo $classe ?>" style="background-image:url(<?php echo $img ?>); background-size: cover;">

Agora, quando precisar chamar o id ou nome do produto no evento "click" da div você poderá pegar estes valores assim.

 

$('.indisponivel').click(function(){
  var produto_nome = $(this).attr('name');
  var produto_id   = $(this).attr('id');

  var retorno = confirm( produto_nome + ". Confirmar pedido? ");
  if (retorno == true) {
    alert("o produto "+produto_nome+" tem o seguinte ID: "+produto_id);
  } else {
    alert("negou o pedido");
  }
});

 

Share this post


Link to post
Share on other sites
1 minuto atrás, Daltonspider disse:

Notei um problema :/ ele cadastra do mesmo modo o produto indisponivel, pq é um link que chama o insert ai pensei em algo assim, nao entendo nda de js, rsrs mas quando fiz os produtos perdem o link para inserir na tabela clica e nao acontece nda deles, veja como fiz( desculpe tomar seu tempo)

 


	<?php

  
	
	
		$sqlp = mysql_query("SELECT * FROM produtos WHERE id_categoria='11'");
		while($verp = mysql_fetch_array($sqlp)){
			$disponivel = $verp['disponivel'];
			$id_pro = $verp['cod'];
			$nomepro = $verp['nome'];
			$descpro = $verp['descricao'];
			$precopro = $verp['preco'];
			
			
			$classe = ($disponivel == "SIM")? "disponivel" : "indisponivel";
					
			
			if($disponivel == SIM){
				$img = "../imagens/disponivel.png";	
				
				
			}else{
			$img = "../imagens/indisponivel.png";
			
			}
	

	?>
	
	<script>
	$('.indisponivel').click(function(){
  alert('Produto indisponível no momento');
});

$('.disponivel').click(function(){
	var retorno = confirm('<?php echo $nomepro ?> - CONFIRMA O PEDIDO?')";
	if (retorno == true) {
		echo "cadastra.php?cod=<?php echo $id_pro ?>&nome=<?php echo $nomepro ?>&preco=<?php echo $precopro ?>&qtd=1&mesa=<?php echo $idmesa ?>&idGarcon=<?php echo $mostra['idGarcon']; ?>&destino=<?php echo $destino ?>"
	} else {
		header("Location:inicio.php");
	}
});
	</script>
	
	
	
	
	

	<div class="container-fullscreen heading-style-3 <?php echo $classe ?>" style="background-image:url(<?php echo $img ?>); background-size: cover;">
	
   
   
   <center> 
		
	<h3 class="heading-title"><?php echo $nomepro ?>&nbsp R$<?php echo $precopro ?></h3>
	<em class="heading-subtitle"><?php echo $descpro ?></em>
    
	</center>
   
   </div>

Nao sei onde coloco a <a href pra funcionar essa ideia..

 

resumindo: se o produto estiver indisponivel, ele fica com outra imagem e se alguem clica aparece o alert que o produto esta indisponivel. Se o produto estiver disponivel quando o usuario clica ele pergunta se tem certeza e cadastra o pedido no banco de dados.. 

Share this post


Link to post
Share on other sites
2 minutos atrás, Eziquiel disse:

Veja bem. Há diversas divs que se repetem por meio de um while.

Cada produto tem um id, certo? E cada produto tem um nome, certo?

Então faça o seguinte: coloque no "id" da div mesmo ID do seu produto...

coloque também no "name" da sua div o nome do seu produto.

Exemplo:

 


<div id="<?php echo $id_pro ?>" name="<?php echo $nomepro ?>" class="container-fullscreen heading-style-3 <?php echo $classe ?>" style="background-image:url(<?php echo $img ?>); background-size: cover;">

Agora, quando precisar chamar o id ou nome do produto no evento "click" da div você poderá pegar estes valores assim.

 


$('.indisponivel').click(function(){
  var produto_nome = $(this).attr('name');
  var produto_id   = $(this).attr('id');

  var retorno = confirm( produto_nome + ". Confirmar pedido? ");
  if (retorno == true) {
    alert("o produto "+produto_nome+" tem o seguinte ID: "+produto_id);
  } else {
    alert("negou o pedido");
  }
});

 

Caramba, preciso estudar jquery... :/ 

Share this post


Link to post
Share on other sites
1 minuto atrás, Eziquiel disse:

Você pode inserir este link <a> apenas se o produto estiver disponível. Do contrário não.

 

Consegue fazer isso?

Não.. fiquei meio perdido e preocupado com esse jquery.. um mundo bem desconhecido pra mim..

Se nao tiver o link nos indisponiveis fica otimo! nem mensagem precisa mesmo!! 

Agora, Daltonspider disse:

Não.. fiquei meio perdido e preocupado com esse jquery.. um mundo bem desconhecido pra mim..

Se nao tiver o link nos indisponiveis fica otimo! nem mensagem precisa mesmo!! 

Vou te convidar pra minha formatura! kkkk fez parte dos meus estudos! kkkk

Share this post


Link to post
Share on other sites
1 minuto atrás, Eziquiel disse:

kkkkk.... tive uma ideia que vai ficar ótimo. Vou preparar o código aqui.

Cara, arruma uma conta que preciso te pagar! ou você é um enviado de Deus! kkk 

Share this post


Link to post
Share on other sites

Vamos lá...

 

Coloque isto no seu php (pode ser abaixo daquela linha ($classe = ($disponivel == "SIM")....)

$postLink = "cadastra.php?cod=$id_pro&nome=$nomepro&preco=$precopro&qtd=1&mesa=$idmesa&idGarcon=".$mostra['idGarcon']."&destino=$destino";

Agora, dentro da sua <div> vamos incluir esta linha: (pode ser acima do <h3>)

 

<span class="link" style="display:none;"><?php echo $postLink ?></span>

Já eu posto o restante...

Share this post


Link to post
Share on other sites
4 minutos atrás, Eziquiel disse:

Vamos lá...

 

Coloque isto no seu php (pode ser abaixo daquela linha ($classe = ($disponivel == "SIM")....)


$postLink = "cadastra.php?cod=$id_pro&nome=$nomepro&preco=$precopro&qtd=1&mesa=$idmesa&idGarcon=".$mostra['idGarcon']."&destino=$destino";

Agora, dentro da sua <div> vamos incluir esta linha: (pode ser acima do <h3>)

 


<span class="link" style="display:none;"><?php echo $postLink ?></span>

Já eu posto o restante...

Ate agora tudo compreendido professor...

Share this post


Link to post
Share on other sites
Seu script ficará assim, agora (para os disponíveis).

$('.disponivel').click(function(){
  var produto_nome = $(this).attr('name');
  var produto_id   = $(this).attr('id');
  var post_link    = $(this).children('.link').html(); 

  var retorno = confirm( produto_nome + ".\n Confirmar pedido? ");
  if (retorno == true) {
    $.post(post_link)
      .done(function( data ) {
        alert("Pedido incluído com sucesso");
    });
  } else {
    alert("negou o pedido");
  }
});

Tente aí

Share this post


Link to post
Share on other sites
7 minutos atrás, Eziquiel disse:

Seu script ficará assim, agora (para os disponíveis).


$('.disponivel').click(function(){
  var produto_nome = $(this).attr('name');
  var produto_id   = $(this).attr('id');
  var post_link    = $(this).children('.link').html(); 

  var retorno = confirm( produto_nome + ".\n Confirmar pedido? ");
  if (retorno == true) {
    $.post(post_link)
      .done(function( data ) {
        alert("Pedido incluído com sucesso");
    });
  } else {
    alert("negou o pedido");
  }
});

Tente aí

Ele fica com os alerts em loop, da ok nao sai, nem cancelar sai... e tambem nao grava nada no banco..

segue o codigo e um print das janelas:

 

<?php

    
	
	
		$sqlp = mysql_query("SELECT * FROM produtos WHERE id_categoria='11'");
		while($verp = mysql_fetch_array($sqlp)){
			$disponivel = $verp['disponivel'];
			$id_pro = $verp['cod'];
			$nomepro = $verp['nome'];
			$descpro = $verp['descricao'];
			$precopro = $verp['preco'];
			
			
			$classe = ($disponivel == "SIM")? "disponivel" : "indisponivel";
			
			$postLink = "cadastra.php?cod=$id_pro&nome=$nomepro&preco=$precopro&qtd=1&mesa=$idmesa&idGarcon=".$mostra['idGarcon']."&destino=$destino";
					
			
			if($disponivel == SIM){
				$img = "../imagens/disponivel.png";	
				
				
			}else{
			$img = "../imagens/indisponivel.png";
			
			}
	

	?>
	
	<script>
	
	$('.indisponivel').click(function(){
    alert('Produto indisponível no momento');
    });
	
	$('.disponivel').click(function(){
  var produto_nome = $(this).attr('name');
  var produto_id   = $(this).attr('id');
  var post_link    = $(this).children('.link').html(); 

  var retorno = confirm( produto_nome + ".\n Confirmar pedido? ");
  if (retorno == true) {
    $.post(post_link)
      .done(function( data ) {
        alert("Pedido incluído com sucesso");
    });
  } else {
    alert("negou o pedido");
  }
});
	
	
	</script>
	
	
	
	<div class="container-fullscreen heading-style-3 <?php echo $classe ?>" style="background-image:url(<?php echo $img ?>); background-size: cover;">
	   
    <center> 
    <span class="link" style="display:none;"><?php echo $postLink ?></span>
		
	<h3 class="heading-title"><?php echo $nomepro ?>&nbsp R$<?php echo $precopro ?></h3>
	<em class="heading-subtitle"><?php echo $descpro ?></em>
    
	</center>
   
    </div>
   

 

ecos.png

Share this post


Link to post
Share on other sites
6 minutos atrás, Daltonspider disse:

Ele fica com os alerts em loop, da ok nao sai, nem cancelar sai... e tambem nao grava nada no banco..

segue o codigo e um print das janelas:

 


<?php

    
	
	
		$sqlp = mysql_query("SELECT * FROM produtos WHERE id_categoria='11'");
		while($verp = mysql_fetch_array($sqlp)){
			$disponivel = $verp['disponivel'];
			$id_pro = $verp['cod'];
			$nomepro = $verp['nome'];
			$descpro = $verp['descricao'];
			$precopro = $verp['preco'];
			
			
			$classe = ($disponivel == "SIM")? "disponivel" : "indisponivel";
			
			$postLink = "cadastra.php?cod=$id_pro&nome=$nomepro&preco=$precopro&qtd=1&mesa=$idmesa&idGarcon=".$mostra['idGarcon']."&destino=$destino";
					
			
			if($disponivel == SIM){
				$img = "../imagens/disponivel.png";	
				
				
			}else{
			$img = "../imagens/indisponivel.png";
			
			}
	

	?>
	
	<script>
	
	$('.indisponivel').click(function(){
    alert('Produto indisponível no momento');
    });
	
	$('.disponivel').click(function(){
  var produto_nome = $(this).attr('name');
  var produto_id   = $(this).attr('id');
  var post_link    = $(this).children('.link').html(); 

  var retorno = confirm( produto_nome + ".\n Confirmar pedido? ");
  if (retorno == true) {
    $.post(post_link)
      .done(function( data ) {
        alert("Pedido incluído com sucesso");
    });
  } else {
    alert("negou o pedido");
  }
});
	
	
	</script>
	
	
	
	<div class="container-fullscreen heading-style-3 <?php echo $classe ?>" style="background-image:url(<?php echo $img ?>); background-size: cover;">
	   
    <center> 
    <span class="link" style="display:none;"><?php echo $postLink ?></span>
		
	<h3 class="heading-title"><?php echo $nomepro ?>&nbsp R$<?php echo $precopro ?></h3>
	<em class="heading-subtitle"><?php echo $descpro ?></em>
    
	</center>
   
    </div>
   

 

ecos.png

As caixas de msg ficam aparecendo com essa de confirmar e outra de pedido concluido, ficam se alternando e nao somem, fechei e abri novamente o navegador pra testar o produto indisponivel, ele tambem fica aparecendo varias vezes a caixa dizendo produto indisponivel... e nao tem cadastro no banco de dados para os disponiveis... sera que nao é algo na $postlink?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.