Ir para conteúdo
Fórum Script Brasil
  • 0

LANÇAR DADOS VINDO DO BANCO DE DADOS DE FORMA AGRUPADO!


DOUGLAS HENN

Pergunta

PRECISO SEPARAR O 'VALOR' DO 'BAIRRO' NA HORA DE LANÇAR A ENTREGA , PORÉM O VALOR NÃO PODERIA IR DE FORMA SELECT/ OPTION  DEVERIA MUDAR O VALOR CONFORME MUDE O BAIRRO, OS VALORES ESTÃO VINDO DA MESMA TABELA '' BAIRROS '' AS COLUNAS SÃO ( BAIRROS - VALORES ) VOU DEIXAR A IMAGEM A BAIXO PARA QUE ENTENDAM COMO ESTÁ NO MOMENTO MEU CÓDIGO, BASICAMENTE GOSTARIA QUE QUANDO FOSSE SELECIONADO UM BAIRRO (X) O VALOR DESSE BAIRRO X FOSSE EXIBIDO E NA HORA DE SELECIONAR ELE PARA LANÇAR ESSE VALOR FOSSE JUNTO AO NOME DO BAIRRO PARA SER INSERT NA NOVA TABELA ENTREGAS!

 

Segue a baixo código Lançar Entregas.

<?php
session_start();
if(!isset($_SESSION['nome'])) {header('Location: login.php');}
 
include_once("conexao.php");
$result_bairros = "SELECT bairro, valor FROM bairros";
$resultado_bairros = mysqli_query($mysqli, $result_bairros);
 
$result_entregador = "SELECT * FROM entregador";
$resultado_entregador = mysqli_query($mysqli, $result_entregador);
 
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="assets/css/painel.css">
    <title>Lançar Entregas</title>
</head>
<body>
<nav>
        <div class="img">
            <img src="assets/img/LOGO_LIKEFOOD_EXPRESS_branco.png">
        </div>
 
        <div class="menu-btn">
            <i class="fa fa-bars fa-2x" onclick="menuShow()"></i>
        </div>
 
        <ul>
            <li> <a href="#"> Voltar</a> </li>
            <li> <a href="#"> Histórico Entregas</a> </li>
            <li> <a href="#"> </a> </li>
            <li> <a href="#"> </a> </li>
            <li> <a href="sair.php"> Sair</a> </li>
        </ul>
    </nav>
    <script src="assets/js/main.js"></script>


 
    <form method="POST" action="proc_lancar_entregas.php">
    <?php
        if(isset($_SESSION['msg'])){
        echo $_SESSION['msg'];
        unset($_SESSION['msg']);
    }
    ?>
    <div class="centro">
        <img class="lg" src="assets/img/LOGO_LIKEFOOD_EXPRESS.png">
        <br><br>
        <h1>Lançar Entregas</h1>
        <br><hr><br>
        <h2>Selecione o Bairro</h2>
        <select id="select" name="bairro" value="bairro">
        <?php while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ ?>
            <option><?php echo $rows_bairros['bairro'];?> |
            <?php echo $rows_bairros['valor']; ?></option>
        <?php } ?>
        </select>
        <br><br>
        <h2>Selecione o Entregador</h2>
        <select id="select" name="entregador" value="entregador">
        <?php while($rows_entregador = mysqli_fetch_assoc($resultado_entregador)){ ?>
        <option><?php echo $rows_entregador['entregador']; ?></option>
        <?php } ?>
        </select>
        <br><br><br>
        <button class="btn2" type="submit">Lançar</button>
        <br><br>
        <hr>
        <br>
        <a href="#">
        <h3>Visualizar entregas lançadas</h3>
    </a>
    </form>
    </div>
</body>
</html>

 

 

Segue a baixo código responsavél por Lançar Entregas.

<?php
session_start();
include_once("conexao.php");
 
$bairro = filter_input(INPUT_POST, 'bairro', FILTER_SANITIZE_STRING);
$valor = filter_input(INPUT_POST, 'valor', FILTER_SANITIZE_STRING);
$entregador = filter_input(INPUT_POST, 'entregador', FILTER_SANITIZE_STRING);
 
//echo "Bairro: $bairro <br>";
//echo "Valor: $valor <br>";
//echo "Entregador: $entregador <br>";
 
$result_entregas = "INSERT INTO entregas (bairro, valor, entregador) VALUES ('$bairro', '$valor', '$entregador')";
$resultado_entregas = mysqli_query($mysqli, $result_entregas);
 
if(mysqli_insert_id($mysqli)){
    $_SESSION['msg'] = "<center><p style='color:green;'>Entrega lançada com Sucesso</p></center>";
    header("Location: lancar_entregas.php");
}else{
    $_SESSION['msg'] = "<p style='color:red;'>A entrega não foi lançada com sucesso</p>";
    header("Location: lancar_entregas.php");
}

lança 2.png

 

lança 1.png

lança 3.png

Editado por DOUGLAS HENN
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 1
1 hour ago, Frank K Hosaka said:

O problema está aqui:

 

 <select id="selebairro" name="bairro" value="bairro" onchange=inpvalor.value=selebairro.options[selectedIndex].value>
		<option>Selecione o bairro</option>
        <?php 
			while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ 
				$bairro=$rows_bairros['bairro'];
				$frete=$rows_bairros['valor'];
				echo "<option value=$frete>$bairro</option>";}
			echo "</select>";
			echo "<br><br><input id=inpvalor name=inpvalor value='frete'>";

O select com o nome de bairro está passando o valor do frete da opção selecionada e não o bairro. Vou ver como consertar isso.

O trecho:

echo "<option value=$frete> $bairro </option>";

Troca por:
echo "<option value=$bairro> $bairro </option>";

 

Veja se resolve!

Link para o comentário
Compartilhar em outros sites

  • 0

Eu não sou profissional, só sei fazer gambiarra:

 

<h2>Selecione o Bairro</h2>
        <select id="selebairro" name="bairro" value="bairro" onchange=inpvalor.value=selebairro.options[selectedIndex].value>
		<option>Selecione o bairro</option>
        <?php 
			while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ 
				$bairro=$rows_bairros['bairro'];
				$frete=$rows_bairros['valor'];
				echo "<option value=$frete>$bairro</option>";}
			echo "</select>";
			echo "<br><br><input id=inpvalor value='frete'>";
		?>
        <br><br>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Então é exatamente isso que preciso, está exibindo certinho os valores de cada bairro conforme seleciona o bairro desejado.

o problema agora é na hora de inserir esse valores no banco de dados " LANÇAR A ENTREGA " ao selecionar o bairro e mostrar seu respectivo valor $ ao clicar em lançar ele envia somente o valor e nome de entregador ,e o dado valor $ entra no campo "Bairro" e não na coluna "Valor".

 

vou deixar umas imagens da tabela no banco de dados , o nome do Bairro não entra mais no banco de dados e no ligar do nome do Bairro entra o Valor. e na coluna (Valor) fica vazio.

lançando entregas com valor sendo exibido.png

entregas lançadas.png

banco de dados entregas.png

Link para o comentário
Compartilhar em outros sites

  • 0

Em lancar_entregas.php, a seguinte linha precisa ser corrigido:

echo "<br><br><input id=inpvalor value='frete'>";

para 

echo "<br><br><input id=inpvalor name=valor value='frete'>";

 

Já proc_lancar_entregas.php, eu fiz um monte de modificações que você precisa adaptar no seu código, ou pelo menos, tente só corrigir a linha de cima, e teste.

A minha maior preocupação é que esse é um aplicativo de rede, e você precisa de uma assessoria melhor com alguém mais experiente. Basicamente, estou estudando a rede com o seu projeto, e eu gostei de fazer o código que puxa os valores de quem está logado, mas editar o banco de dados, isso é outra história bem diferente, e que eu não tenho como resolver. Durante os vinte útimos anos, eu criei um banco de dados para cada usuário, isso foi um inferno, eu detestei, mas também não sei como resolver esse problema.

 

<?php
session_start();
$mysqli=new mysqli("localhost","root","","astudy");
 
$bairro = $_POST['bairro'];
$valor = $_POST['valor'];
$entregador = $_POST['entregador'];
 
 
$result_entregas = "INSERT INTO tbentrega (bairro, valor, entregador) VALUES ('$bairro', '$valor', '$entregador')";
$resultado_entregas = mysqli_query($mysqli, $result_entregas);
 
if(mysqli_insert_id($mysqli)){
    $_SESSION['msg'] = "<center><p style='color:green;'>Entrega lançada com Sucesso</p></center>";
    header("Location: lancar_entregas.php");
}else{
    $_SESSION['msg'] = "<p style='color:red;'>A entrega não foi lançada com sucesso</p>";
	header("Location: lancar_entregas.php");}

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, Frank K Hosaka disse:

Em lancar_entregas.php, a seguinte linha precisa ser corrigido:

echo "<br><br><input id=inpvalor value='frete'>";

para 

echo "<br><br><input id=inpvalor name=valor value='frete'>";

 

Já proc_lancar_entregas.php, eu fiz um monte de modificações que você precisa adaptar no seu código, ou pelo menos, tente só corrigir a linha de cima, e teste.

A minha maior preocupação é que esse é um aplicativo de rede, e você precisa de uma assessoria melhor com alguém mais experiente. Basicamente, estou estudando a rede com o seu projeto, e eu gostei de fazer o código que puxa os valores de quem está logado, mas editar o banco de dados, isso é outra história bem diferente, e que eu não tenho como resolver. Durante os vinte útimos anos, eu criei um banco de dados para cada usuário, isso foi um inferno, eu detestei, mas também não sei como resolver esse problema.

 

<?php
session_start();
$mysqli=new mysqli("localhost","root","","astudy");
 
$bairro = $_POST['bairro'];
$valor = $_POST['valor'];
$entregador = $_POST['entregador'];
 
 
$result_entregas = "INSERT INTO tbentrega (bairro, valor, entregador) VALUES ('$bairro', '$valor', '$entregador')";
$resultado_entregas = mysqli_query($mysqli, $result_entregas);
 
if(mysqli_insert_id($mysqli)){
    $_SESSION['msg'] = "<center><p style='color:green;'>Entrega lançada com Sucesso</p></center>";
    header("Location: lancar_entregas.php");
}else{
    $_SESSION['msg'] = "<p style='color:red;'>A entrega não foi lançada com sucesso</p>";
	header("Location: lancar_entregas.php");}

 

PERFEITO BROTHER O VALOR ENTROU NA COLUNA VALOR, PORÉM SURGIU OUTRO PROBLEMA KKK

NA HORA DE LANÇAR A ENTREGA ELE ESTÁ INSERINDO O VALOR NA COLUNA VALOR E NA COLUNA BAIRROS ESTÁ INSERINDO O VALOR TAMBÉM AO INVÉS DE INSERIR O NOME DO BAIRRO, VOU DEIXAR UMA IMAGEM A BAIXO PARA VOCÊ VER.

 

VOU DEIXAR TAMBÉM UMA IMAGEM PARA VOCÊ VER COMO DEIXEI O VALOR EXIBINDO NO PAINEL LANÇAR.

valor sendo exibido.png

VALOR SENDO INSERIDO TAMBÉM NA COLUNA BAIRROS.png

Código já alterado conforme você me informou no proc_lancar_entregas.php

 

<?php
session_start();
include_once("conexao.php");
 
$bairro = $_POST['bairro'];
$valor = $_POST['valor'];
$entregador = $_POST['entregador'];
 
 
$result_entregas = "INSERT INTO entregas (bairro, valor, entregador) VALUES ('$bairro', '$valor', '$entregador')";
$resultado_entregas = mysqli_query($mysqli, $result_entregas);
 
if(mysqli_insert_id($mysqli)){
    $_SESSION['msg'] = "<center><p style='color:green;'>Entrega lançada com Sucesso</p></center>";
    header("Location: lancar_entregasloja.php");
}else{
    $_SESSION['msg'] = "<p style='color:red;'>A entrega não foi lançada com sucesso</p>";
    header("Location: lancar_entregasloja.php");}
4 minutos atrás, DOUGLAS HENN disse:

PERFEITO BROTHER O VALOR ENTROU NA COLUNA VALOR, PORÉM SURGIU OUTRO PROBLEMA KKK

NA HORA DE LANÇAR A ENTREGA ELE ESTÁ INSERINDO O VALOR NA COLUNA VALOR E NA COLUNA BAIRROS ESTÁ INSERINDO O VALOR TAMBÉM AO INVÉS DE INSERIR O NOME DO BAIRRO, VOU DEIXAR UMA IMAGEM A BAIXO PARA VOCÊ VER.

 

VOU DEIXAR TAMBÉM UMA IMAGEM PARA VOCÊ VER COMO DEIXEI O VALOR EXIBINDO NO PAINEL LANÇAR.

valor sendo exibido.png

VALOR SENDO INSERIDO TAMBÉM NA COLUNA BAIRROS.png

 

valor entrando na coluna bairros.png

Link para o comentário
Compartilhar em outros sites

  • 0

O problema está aqui:

 

 <select id="selebairro" name="bairro" value="bairro" onchange=inpvalor.value=selebairro.options[selectedIndex].value>
		<option>Selecione o bairro</option>
        <?php 
			while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ 
				$bairro=$rows_bairros['bairro'];
				$frete=$rows_bairros['valor'];
				echo "<option value=$frete>$bairro</option>";}
			echo "</select>";
			echo "<br><br><input id=inpvalor name=inpvalor value='frete'>";

O select com o nome de bairro está passando o valor do frete da opção selecionada e não o bairro. Vou ver como consertar isso.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, Oliver. O problema é que eu preciso do frete por bairro, eu preciso passar os dois valores para uma outra página, usando o poderoso select.

O problema do select é que só passa apenas um, ou o bairro ou o frete, mas não os dois ao mesmo tempo. Eu pensei em usar o Json, mas só tive dor de cabeça e nada de resultado prático.

Eu não tenho outra escolha senão fazer uma outra bela gambiarra.

O elemento select está assim

<select name=selebairro><option value=frete>bairro</option></select>

Do jeito que está, ele só passa o valor do frete.

Com a ajuda do Google, descobri que é possível pegar o bairro, veja só:

 

correção do código lancar_entregas.php

<h2>Selecione o Bairro</h2>
		<?php
		$java="inpvalor.value=selebairro.options[selectedIndex].value;inpbairro.value=selebairro.options[selectedIndex].text";
        echo "<select id=selebairro name=valor onchange='$java'>";
		echo "<option>Selecione o bairro</option>";
        while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ 
			$bairro=$rows_bairros['bairro'];
			$frete=$rows_bairros['valor'];
			echo "<option value=$frete>$bairro</option>";}
		echo "</select>";
		echo "<br><br><input id=inpvalor value='frete'><input id=inpbairro type=hidden name=bairro>";
		?>
        <br><br>

 

Link para o comentário
Compartilhar em outros sites

  • 0
52 minutos atrás, Frank K Hosaka disse:

Olá, Oliver. O problema é que eu preciso do frete por bairro, eu preciso passar os dois valores para uma outra página, usando o poderoso select.

O problema do select é que só passa apenas um, ou o bairro ou o frete, mas não os dois ao mesmo tempo. Eu pensei em usar o Json, mas só tive dor de cabeça e nada de resultado prático.

Eu não tenho outra escolha senão fazer uma outra bela gambiarra.

O elemento select está assim

<select name=selebairro><option value=frete>bairro</option></select>

Do jeito que está, ele só passa o valor do frete.

Com a ajuda do Google, descobri que é possível pegar o bairro, veja só:

 

correção do código lancar_entregas.php

<h2>Selecione o Bairro</h2>
		<?php
		$java="inpvalor.value=selebairro.options[selectedIndex].value;inpbairro.value=selebairro.options[selectedIndex].text";
        echo "<select id=selebairro name=valor onchange='$java'>";
		echo "<option>Selecione o bairro</option>";
        while($rows_bairros = mysqli_fetch_assoc($resultado_bairros)){ 
			$bairro=$rows_bairros['bairro'];
			$frete=$rows_bairros['valor'];
			echo "<option value=$frete>$bairro</option>";}
		echo "</select>";
		echo "<br><br><input id=inpvalor value='frete'><input id=inpbairro type=hidden name=bairro>";
		?>
        <br><br>

 

PERFEITO MEUS AMIGOS!!!

SHOW DE BOLA FUNCIONOU PERFEITAMENTE AGORA.

MUITO OBRIGADO! ME SALVOU.

show.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...