Jump to content
Jefferson andre

Dois forms na mesma pagina, o primeiro enviando dados para o segundo

Recommended Posts

Boa tarde, por favor me ajudem com uma situacao que nao sei como proceder em linguagens web

 

Tenho dois forms na mesma tela, ao selecionar o cliente e clicar no botao buscar dados, as informacoes que eu pegar no mysql vao "abastecer" os campos do segundo formulario, e entao enviadas para a inclusao utilizando um outro botao no final da pagina.

 

Nao sei como atualizar as informacoes desses campos na tela, e que posteriormente serao enviados para o banco de dados incluindo as novas informacoes.

 

Agradeço sugestoes sobre a tela enviada.

entregas_exemplo_botao_buscar.png

Share this post


Link to post
Share on other sites
3 minutos atrás, ShadowDLL disse:

Você pode fazer o mesmo com AJAX.

sim, consegui fazer quase tudo com ajax so que ainda nao consegui pegar as variaveis apenas listo elas na tela.


		<script>
            function buscar2(id_cliente)
            {
                //O método $.ajax(); é o responsável pela requisição
                $.ajax
                        ({
                            //Configurações
                            type: 'POST',//Método que está sendo utilizado.
                            dataType: 'html',//É o tipo de dado que a página vai retornar.
                            url: 'busca2.php',//Indica a página que está sendo solicitada.
                            //função que vai ser executada assim que a requisição for enviada
                            beforeSend: function () {
                                $("#dados2").html("Carregando...");
                            },
                            data: {id_cliente: id_cliente},//Dados para consulta
                            //função que será executada quando a solicitação for finalizada.
                            success: function (msg)
                            {
                                $("#dados2").html(msg);
								$("#valor_fixo_cliente").val(html.$valor_hr_viagem);
                            }
                        });
            }
            
            $('#buscar2').click(function () {
                buscar2($("#id_cliente").val())
            });

acho que o problema esta nesta linha abaixo mas nao sei como proceder:

  $("#dados2").html(msg);
                                $("#valor_fixo_cliente").val(html.$valor_hr_viagem); 

entregas_exemplo_botao_buscar.png

Share this post


Link to post
Share on other sites

Por favor, execute o código abaixo

e envie-me as informações que

estarão presentes no console.

 

CÓDIGO:

<script>
function buscar2(id_cliente)
{
	//O método $.ajax(); é o responsável pela requisição
	$.ajax
	({
		//Configurações
		type: 'POST',//Método que está sendo utilizado.
		dataType: 'html',//É o tipo de dado que a página vai retornar.
		url: 'busca2.php',//Indica a página que está sendo solicitada.

		//função que vai ser executada assim que a requisição for enviada
		beforeSend: function () {
			$("#dados2").html("Carregando...");
		},
		data: {id_cliente: id_cliente},//Dados para consulta
		//função que será executada quando a solicitação for finalizada.
		success: function (msg)
		{
			console.log (msg);

			$("#dados2").html(msg);
			//$("#valor_fixo_cliente").val(html.$valor_hr_viagem);
		}
	});
}

$('#buscar2').click(function () {
	buscar2($("#id_cliente").val())
});

 

Se possível, envie também o código

presente em: busca2.php

Share this post


Link to post
Share on other sites
18 horas atrás, ShadowDLL disse:

Por favor, execute o código abaixo

e envie-me as informações que

estarão presentes no console.

 

CÓDIGO:


<script>
function buscar2(id_cliente)
{
	//O método $.ajax(); é o responsável pela requisição
	$.ajax
	({
		//Configurações
		type: 'POST',//Método que está sendo utilizado.
		dataType: 'html',//É o tipo de dado que a página vai retornar.
		url: 'busca2.php',//Indica a página que está sendo solicitada.

		//função que vai ser executada assim que a requisição for enviada
		beforeSend: function () {
			$("#dados2").html("Carregando...");
		},
		data: {id_cliente: id_cliente},//Dados para consulta
		//função que será executada quando a solicitação for finalizada.
		success: function (msg)
		{
			console.log (msg);

			$("#dados2").html(msg);
			//$("#valor_fixo_cliente").val(html.$valor_hr_viagem);
		}
	});
}

$('#buscar2').click(function () {
	buscar2($("#id_cliente").val())
});

 

Se possível, envie também o código

presente em: busca2.php

 

Grato pelas informacoes,

Fiz as mudanças e nao apareceu nada diferente, entao dei uma olhada no diretorio pra ver se havia criado o arquivo console.log e tambem na pasta do site  e tambem nao encontrei.

 

segue o buscar2.php

<?php header('Content-Type: text/html; iso-8859-1');?>
<?php
require('conexao_dbo.php');
/*
$host_local = "localhost";
$db_local   = "xcomp_entregas";
$user_local = "root";
$pass_local = "";

try {
    $arquivo = new PDO("mysql:dbname=$db_local;host=$host_local", $user_local, $pass_local);
} catch (PDOException $e) {
    $error_mensagem = $e->getMessage() . "<br/>";
    echo "Error : " . $error_mensagem;
    exit();
}
*/
$palavra = $_POST['id_cliente'];

    $sql = "SELECT * FROM clientes WHERE id='$palavra'";
    $sql = $arquivo->query($sql);
?>

<section class="panel col-lg-9">

    <header class="panel-heading">
        Dados da busca:
    </header>
    <?php
    if($sql->rowCount()>0) {
?>
    <table class="table table-striped table-advance table-hover">
        <tbody>
            <tr>
                <th><i class="icon_profile"></i> valor_hr_viagem</th>
                <th><i class="icon_profile"></i> valor_por_km</th>
                <th><i class="icon_mail_alt"></i> valor_apos_18</th>
                <th><i class="icon_profile"></i> valor_sabado</th>
                <th><i class="icon_mail_alt"></i> valor_domingo</th>
            </tr>
            <?php 
            foreach($sql->fetchAll() as $linha){
				$valor_hr_viagem = $linha['valor_hr_viagem'];
				$valor_por_km = $linha['valor_por_km'];
				$valor_apos_18 = $linha['valor_apos_18'];
				$valor_sabado = $linha['valor_sabado'];
				$valor_domingo = $linha['valor_domingo'];
				$valor_fixo_cliente = $linha['valor_hr_viagem'];
            ?>
            <tr>
                <td><?=$linha['valor_hr_viagem'];?></td>
                <td><?=$linha['valor_por_km'];?></td>
                <td><?=$linha['valor_apos_18'];?></td>
                <td><?=$linha['valor_sabado'];?></td>
                <td><?=$linha['valor_domingo'];?></td>
            </tr>
            <?php }?>
        </tbody>
    </table>
    <?php }else{?>
    <h4>Nao foram encontrados registros com esta palavra.</h4>
    <?php }?>
</section>

Retorno do console

The specified value "17/01/2020 11:47:40" does not conform to the required format, "yyyy-MM-dd".
xcomp_entregas_entregas_adicionar.php:21 GET http://www.plataformaxcomp.com.br/xcomp_entregas/font-awesome/css/font-awesome.min.css net::ERR_ABORTED 404 (Not Found)
xcomp_entregas_entregas_adicionar.php:220 GET http://www.plataformaxcomp.com.br/xcomp_entregas/jquery.2.1.3.min.js net::ERR_ABORTED 404 (Not Found)
Chart.min.js:7 Uncaught TypeError: Cannot read property 'length' of null
    at Object.acquireContext (Chart.min.js:7)
    at ni.construct (Chart.min.js:7)
    at new ni (Chart.min.js:7)
    at chart-area-demo.js:32
acquireContext @ Chart.min.js:7
construct @ Chart.min.js:7
ni @ Chart.min.js:7
(anonymous) @ chart-area-demo.js:32
Chart.min.js:7 Uncaught TypeError: Cannot read property 'length' of null
    at Object.acquireContext (Chart.min.js:7)
    at ni.construct (Chart.min.js:7)
    at new ni (Chart.min.js:7)
    at chart-pie-demo.js:7
acquireContext @ Chart.min.js:7
construct @ Chart.min.js:7
ni @ Chart.min.js:7
(anonymous) @ chart-pie-demo.js:7
xcomp_entregas_entregas_adicionar.php:220 GET http://www.plataformaxcomp.com.br/xcomp_entregas/jquery.2.1.3.min.js net::ERR_ABORTED 404 (Not Found)
xcomp_entregas_entregas_adicionar.php:241 
<section class="panel col-lg-9">

    <header class="panel-heading">
        Dados da busca:
    </header>
        <table class="table table-striped table-advance table-hover">
        <tbody>
            <tr>
                <th><i class="icon_profile"></i> valor_hr_viagem</th>
                <th><i class="icon_profile"></i> valor_por_km</th>
                <th><i class="icon_mail_alt"></i> valor_apos_18</th>
                <th><i class="icon_profile"></i> valor_sabado</th>
                <th><i class="icon_mail_alt"></i> valor_domingo</th>
            </tr>
                        <tr>
                <td>120.1</td>
                <td>190.9</td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
                    </tbody>
    </table>
	
    </section>

Ele mostra as informacoes na tela mas nao consigo pegar as variaveis separadas apos retornar

Share this post


Link to post
Share on other sites

Segue exemplo, abaixo:

 

INDEX.PHP

<?php require "conexao_dbo.php"; ?>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />

		<title> EXAMPLE </title>

		<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

		
		<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" />
		<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
	</head>

	<body>
		<div class="container">
			<div class="row">
				<div class="col" style="padding-top: 20px">
					<form method="post">
						<div class="form-group">
							<label for="nome">Nome</label>
							<select class="form-control" id="nome">
								<option>-- SELECIONAR --</option>

							<?php
							$clientes = $arquivo->query("SELECT id, nome FROM clientes");

							foreach ($clientes->fetchAll() as $key) { ?>
								<option value="<?php echo $key['id'] ?>"><?php echo $key['nome'] ?></option>
							<?php } ?>
							?>
							</select>
						</div>

						<div id="info col">
							<table class="table table-striped table-advance table-hover">
								<tbody>
									<tr>
										<th><i class="icon_profile"></i> valor_hr_viagem</th>
										<th><i class="icon_profile"></i> valor_por_km</th>
										<th><i class="icon_mail_alt"></i> valor_apos_18</th>
										<th><i class="icon_profile"></i> valor_sabado</th>
										<th><i class="icon_mail_alt"></i> valor_domingo</th>
									</tr>

									<tr>
										<td id="valor_hr_viagem">R$</td>
										<td id="valor_por_km">R$</td>
										<td id="valor_apos_18">R$</td>
										<td id="valor_sabado">R$</td>
										<td id="valor_domingo">R$</td>
									</tr>
								</tbody>
							</table>
						</div>
					</form>
				</div>
			</div>
		</div>

		<script>
		$(function()
		{
			$("#nome").on ( 'change', function()
			{
				var id = $(this).val();

				$.ajax (
				{
					dataType:"JSON",
					type:"POST",
					data:{
						id_cliente:id
					},
					url:"busca2.php",
					success: function (dados)
					{
						if ( dados ) {
							manipula(dados);
						}
					}
				});
			});
		});

		function manipula(dados)
		{
			$("#valor_hr_viagem").text('R$ ' + dados.valor_hr_viagem);
			$("#valor_por_km").text('R$ ' + dados.valor_por_km);
			$("#valor_apos_18").text('R$ ' + dados.valor_apos_18);
			$("#valor_sabado").text('R$ ' + dados.valor_sabado);
			$("#valor_domingo").text('R$ ' + dados.valor_domingo);
		}
		</script>
	</body>
</html>

 

BUSCA2.PHP

<?php

	require "conexao_dbo.php";


	if ( $_POST['id_cliente'] )
	{
		$busca = $arquivo->query ("
			SELECT * FROM clientes WHERE id = {$_POST['id_cliente']}
		");


		// IMPORTANTE PARA MANIPULACAO DOS DADOS
		// NO JAVASCRIPT
		echo json_encode(
			$busca->fetch(PDO::FETCH_OBJ)
		);
	}

?>

 

Share this post


Link to post
Share on other sites

Qualquer dúvida envie mensagem

que trabalharemos no mesmo.

Share this post


Link to post
Share on other sites

Ainda nao consegui pegar os campos e colocar no formulario, no buscar3 tudo esta com json_encode

 

Segue o retorno do console

10{"valor_hr_viagem":"10","valor_por_km":"8","valor_apos_18":"7","valor_sabado":"6","valor_domingo":"5"}

 

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

  • Similar Content

    • By amandafuceli
      Sou iniciante no que se refere à linguagem do MySql e estou tentando filtrar algumas informações que preciso retirar de uma tabela.

      Basicamente eu tenho dados de indivíduos em anos seguidos (2003, 2004, 2005) todos em uma mesma tabela. Além desses dados, disponho de informações, por exemplo, da escolaridade (que pode mudar ano após ano, ou manter-se constante).

      Porém alguns registros da minha base de dados são inconsistentes, por exemplo, selecionando os primeiros registros ordenados pelo cpf e pelo ano, temos (mudei o cpf por motivos de sigilo dos dados):
        1 2 3 4 5 6 7 8 9 10 11 12 13 14 Ano      CPF        Escolaridade 2004    10000000kkk 3 2005    10000000kkk 5 2003    10000000zzz 7 2005    10000000zzz 6 2003    10000000ttt 7 2005    10000000ttt 4 2004    10000000ppp 6 2005    10000000ppp 9 2004    10000000sss 7 2005    10000000sss 9 2005    10000000sss 9 2003    10000002xxx 6 2005    10000002xxx 7
      A escolaridade é codificada:
        1 2 3 4 5 6 7 8 9 10 11 12 ANALFABETO      1 ATE 5.A INC     2 5.A CO FUND     3 6. A 9. FUND    4 FUND COMPL      5 MEDIO INCOMP    6 MEDIO COMPL     7 SUP. INCOMP     8 SUP. COMP       9 MESTRADO        10 DOUTORADO       11 IGNORADO        -1
      Minha dúvida é: como posso filtrar essas inconsistências? Alguém pode me ajudar?  
    • By Jamersonjds
      Pra aprendizado, estou tentando listar dados do banco de dados e trazer os resultados para meu html.
      Estou conseguindo fazer com este código.
       
      <!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="UTF-8"> <title>Chat</title> <link rel="stylesheet" href="../public/style/reset.css"> <link rel="stylesheet" href="../public/style/chatStyle.css"> <!-- É adicionado a biblioteca jquery e o fontAwesome --> <link href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet"> <link href="../public/style/fontawesome/css/all.css" rel="stylesheet"> <script src="../public/js/jquery.min.js"></script> </head> <style> .test2 { cursor: pointer; } </style> <script> $(document).ready(function(){ var itens = "", url = "../includes/configs/chat.php", itens2 = ""; // Capturar dados usando Método AJAX do jquery $.ajax({ url: url, cache: false, dataType: "json", success: function(retorno){ for(var i = 0; i<retorno.length; i++){ itens += "<li>"; itens += "<a class='test2' onclick='function retornou(){$('.Tes22').html('wadwd')}'>"; itens += "<div class='imgUserList'>"; itens += "<div class='widthUserImg'>"; itens += "<div class='imgUserListD'><img src='https://avatars0.githubusercontent.com/u/3966553?s=460&v=4' alt=''></div>"; itens += "</div>"; itens += "<div class='textUserList'>"; itens += "<input type='text' class='pegarID' value='" + retorno[i].id + "'>"; itens += "<span class='title'>" + retorno[i].email + "</span>"; itens += "<h1 class='title'>Está online</h1>"; itens += "</div>"; itens += "</div>"; itens += "</a>"; itens += "</li>"; } $(".pessoas").html(itens); } }) }); </script> <body onload="carregarItens()"> <div class="container"> <div class="listaPessoas"> <div class="headerPeople title"> <h1>Contatos</h1> <h2 class="Tes22"></h2> </div> <ul class="pessoas"> <!-- <li> <a href=""> <div class="imgUserList"> <div class="widthUserImg"> <div class="imgUserListD"><img src="https://avatars0.githubusercontent.com/u/3966553?s=460&v=4" alt=""></div> </div> <div class="textUserList"> <span class="title">10.1.196.90</span> <h1 class="title">Está online</h1> </div> </div> </a> </li> --> </ul> </div> <div class="chat"> <div class="chatHeader"> <div class="title text"> <h1>james</h1> </div> <div class="menuUser title"> <i class="fas fa-ellipsis-h"></i> </div> </div> <div class="chatMessage"> </div> <div class="chattext"> <form action=""> <input type="text" id="modal"> <button><i class="fas fa-paper-plane"></i></button> </form> </div> </div> <div class="infoPessoas"> </div> </div> <script src="../public/js/chat.js"></script> </body> </html> Porém estou querendo pegar apenas o ID e colocar em um <h2> e não estou conseguindo.
      Exemplo: Ao clicar em um dado vindo do banco de dados como é listado acima eu colocar o ID dele no <h2>.
       
      Este é meus dados vindo do PHP já no json.
      echo json_encode($dados, JSON_PRETTY_PRINT);  
    • By jonathasouza
      Como posso criar uma query no php que não duplique varias vezes o valor?
       
      Gostaria de colocar apenas um valor desses por vez, e não a mesma coisa repetida.
       
        <?php
      $conexao = mysqli_connect('localhost', 'root', '', 'analistas');
      if(mysqli_connect_errno($conexao)){
      echo 'Failed to connecto to database'.mysqli_connect_error();}

      $query= mysqli_query($conexao, "SELECT DISTINCT * FROM tecnicos, ordem");
      ?>

    • By fabiojac
      Olá pessoal. Sou iniciante em php e já procurei em diversos lugares mas não encontrei a informação.
       
      Criei um formulário de contato em PHP, porém, minha necessidade é: Caso o cliente não preencha um campo que contém uma pergunta, essa pergunta não pode ser enviada para o e-mail.
       
      Exemplo do meu arquivo envia-e-mail.php: 
       

      $mensagem.='<b>Preencha seu número do Whatsapp para receber promoções ou caso queira um retorno da nossa equipe (não é obrigatório)</b><br><br> '.$telefone.'<br><br><br>';
       
      Do jeito que está, mesmo que a pessoa não preencha nada, essa pergunta está chegando no e-mail, e o que eu quero é que ela não chegue no e-mail se não for preenchida.
       
      Espero que eu tenha conseguido explicar a minha necessidade. Muito obrigado desde já à todos.
    • By albuquerque.paulo1992
      <!DOCTYPE html> <html lang="en">   <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>   <body>     <div class="row">         <div class="col-md-6">             <div class="form-group">                 <label><i class="fas fa-university"></i> Unidade</label require>                 <select type="text" name="unidade" class="form-control" id="unidade" onclick="formatar()">                     <option selected disabled>Escolha Unidade</option required>                     <?php                     include_once("conexao.php");                     $consult = "SELECT * FROM tb_unidades WHERE cnes ORDER BY nome_da_unidade";                     $consulta = mysqli_query($conn, $consult);                     while ($row_cat_post = mysqli_fetch_assoc($consulta)) {                         echo '<option value="' . $row_cat_post['nome_da_unidade'] . '"> ' . $row_cat_post['nome_da_unidade'] . '</option>';                     }                     ?>                 </select>             </div>         </div>         <div class="col-md-6">             <div class="form-group">                 <label><i class="fas fa-fingerprint"></i> CNES</label>                 <input type="text" name="cnes" class="form-control" id="cnes"                     placeholder="Cadastro Nacional de Estabelecimentos de Saúde">             </div>         </div>     </div> </body>   </html>
×

Important Information

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