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 k9studio
      Olá Amigos,
      tenho essa tabela abaixo e estou apanhando para listar os dados e fazer validação,
      alguém pode ajudar como chamar os dados e validar mostrar o nome somente se estiver visible=on  

       
      CREATE TABLE `system` (   `namesystem` text COLLATE utf8_unicode_ci NOT NULL,   `setting` text COLLATE utf8_unicode_ci NOT NULL,   `value` text COLLATE utf8_unicode_ci NOT NULL,   `order` int(1) NOT NULL,   KEY `namesystem_setting` (`namesystem`(32),`setting`(32)),   KEY `setting_value` (`setting`(32),`value`(32)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; como os dados estão na tabela:
       
      namesystem setting   value   order (honda)    (name)   (Honda)   1 (honda)    (xtts)   (ok)      0    (honda)   (visible)  (on)      0    (toyota)    (name)   (Toyota)  2 (toyota)    (xtts)   (ok)      0    (toyota)  (visible)  (on)      0    
    • By Giuliano Maffei
      Oi Pessoal, sou novo por aqui.
      Agradeço se alguém puder me ajudar.
      Tenho um banco de dados com a tabela abaixo:
      DB pets
      ------------------------------------------------------------------------------------
      | id | pet_tutor | pet_name | pet_species | pet_breed  |
      ------------------------------------------------------------------------------------
      | 1  |        José |             Rex |                   1 |    Vira-latas |
      | 2  |      Paulo |      Bichano |                  2 |        Siamês |
      | 3  |       João |             Max |                  1 | Lhasa-apso |
      ------------------------------------------------------------------------------------
       
      Fiz o código abaixo:
      $species_lang = array('0' => 'Selecionar','1' => 'Cachorro', '2' => 'Gatos', '3' => 'Acarás');
       
      SELECT (pets.id as id, pet_tutor, pet_name, {(" . $species_lang['pet_species'] . ")}, pet_breed FROM pets)
       
      Resultado:
      -----------------------------------------------------------------------------------
      | id | pet_tutor | pet_name | pet_species | pet_breed  |
      ------------------------------------------------------------------------------------
      | 1  |        José |             Rex |                        | Vira-latas |
      | 2  |       Paulo |    Bichano |                        |     Siamês |
      | 3  |        João |           Max |                        | Lhasa-apso |

      -----------------------------------------------------------------------------------
      Porque não consigo carregar o campo 'pet_species' com a raça do pet. Alguém tem uma luz pra me ajudar?
       
      Obrigado
    • By EvertonFD
      Ola estou desenvolvendo com intuito de estudo um sistema que tem um ranking e parrei em uma situação que travou tudo na cabeça,
      tenho 2 tab (agenda e uma ranking)  eu pensei em por os dados na agenda (time-a time-b gol-a gol-b v - d- e ) e somente somar e contar com php na hora de exibir.
      mas quando faço isso não consigo especificar a soma quando o time cai no enfrentamento (expl. time-a Arsenal x time-b PSG ) se no proximo confronto o Arsenal cair como timeb não consigo pegar os valores dele estou tentando assim.
      SELECT t.nome_time, COUNT(v_a + v_b), SUM(gola + golb) FROM agenda a INNER JOIN times t ON a.id=t.id WHERE T.nome_time='Sao Paulo' e o resultado que ele me traz não é o correto como podem ver na imagem deveria ser 9 gols e 2 vitorias, se alguem puder ajudar agradeço ou dar uma nova ideia sobre a logica


    • By rsvaz83
      Fiz a migração de um site Wordpress juntamente com seu Banco de Dados para um novo servidor e infelizmente estou tendo problemas com caracteres com acentuação.
       
      O site tem pouco mais de 11 anos e várias tabelas do Banco de Dados estavam em latin1_swedish_ci. No servidor antigo esse banco de dados tinha os registros de posts e comentários com caracteres errados, mas ao exibir no html eles apareciam corretamente.
       
      Após realizar a migração, seja na página de administração (posts e comentários) ou no site visível para o usuário, todos os cacarteres com acentuação estão aparecendo errado mesmo usando charset="UTF-8" no html.
       
      Alguém tem alguma ideia de como proceder?
    • By phfmiranda
      Bom dia,
       
      Tenho um BD com 3 tabelas
       
      tb_cliente - Chave primaria id_cliente
      tb_dados - chave estrangeira id_cliente
      tb_crediario - chave estrangeira id_cliente
       
      O que acontece é que como já temos dados nas mesmas não estou conseguindo criar a chave estrangeira abaixo, tem alguma ideia de como criar a mesma sem alterar os dados??
       
      ALTER TABLE `tb_dados` ADD FOREIGN KEY (`id_cliente`) REFERENCES `tb_cliente`(`id_cliente`) ON DELETE CASCADE  
      Obrigado.
×

Important Information

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