Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rogarfil

recebendo variavel, ativando a tag select, while buscando banco!

Recommended Posts

Prezados Colegas,

Estou a dias tentando solucionar este problema, já visitei vários fóruns e nada de solucionar, peço a ajuda costumeira, segue:
1- Tenho um index, com 4 botões em <form> para enviar em $_POST

<html lang="pt-br">
    <head>
        <meta charset="UTF-8" />
        <title></title>
    </head>
    <body>
        <div>
            <form action="form_usuario.php" method="post">
                <input type="hidden" name="pk_plano" value="1" />
                <button name="cadastrar" type="submit" id="cadastrar" value="">Plano Diamante</button>
             - 
                <input type="hidden" name="pk_plano" value="2" />
                <button name="cadastrar" type="submit" id="cadastrar" value="">Plano Ouro</button>
             - 
                <input type="hidden" name="pk_plano" value="3" />
                <button name="cadastrar" type="submit" id="cadastrar" value="">Plano Prata</button>
             - 
                <input type="hidden" name="pk_plano" value="4" />
                <button name="cadastrar" type="submit" id="cadastrar" value="">Plano Bronze</button>
            </form>
        </div>


2- Qdo entro no form_usuario ele acessa o banco e tras a variável $pk_plano com o valor selecionado, procedimento correto.
Se eu trabalhar com o SELECT logo após a variável tudo bem, mas qdo chego na tag <select> as variáveis não são passada.
O que espero, é que a váriavel passada mantenha meu <select> ativo (selecionado), mas que também me possibilite poder fazer outra escolha se assim desejar.

<?php
i

nclude 'cadastro/config.php';

$pk_plano = $_POST ["pk_plano"];

?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Formulário</title>
        <link rel="stylesheet" type="text/css" href="css/style.css" />
 
    </head>
    <body>
        <section id="corpo-full">
            <h3>Preencha os dados abaixo para contratar seu Plano</h3>
            <form id="cadastro" name="cadastro" method="post" action="cadastro/insere_usuario.php">
                <fieldset>
                    <fieldset class="grupo">
                        <div class="campo">
                            <label for="plano">Plano Escolhido</label>
                            <select name="TB_Plano_pk_plano" id="plano">
                                 <?php
                                $consulta_plano = mysqli_query($dados, "SELECT pk_plano, nm_plano FROM TB_Plano");
                                $res = mysqli_query($consulta_plano);
                                
                                $nome_plano = $res ["nm_plano"];
                                ?>  
                                <option value="<?php $pk_plano;
                                if ($pk_plano == $_POST ["pk_plano"]) {
                                    echo 'selected';
                                }
                                ?>>"
                                    <?php echo $nome_plano; ?>
                            </option>

                                <?php // (O while está funcionando, ou seja, recebe o cadastro do banco)
                                while ($plano = mysqli_fetch_array($consulta_plano_idx)) {
                                    $vpk_plano = $plano["pk_plano"];
                                    $vnm_plano = $plano["nm_plano"];
                                    echo ("<option value='" . $vpk_plano . "'>" . $vnm_plano . "</option>");
                                }
                                ?>
                            </select>
                        </div>

Agradeço desde já a ajuda, Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá se bem entendi você precisa mudar o name ou o value de cada submit. se todos eles tem mesmo name e mesmo value o php não saberá qual botão foi clicado. coloque por exemplo name="ouro" para um, prata para outro, bronze para outro. aí com um isset você valida. ou então deixe um submit apenas e coloque uma dropdown para a pessoa escolher.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados Colegas,

Estou a dias tentando solucionar este problema, já visitei vários fóruns e nada de solucionar, peço a ajuda costumeira, segue:
1- Tenho um index, com 4 botões em <form> para enviar em $_POST. (Somente estou enviando para vocês poderem ver o meu procedimento
ele funciona perfeito, mandando a variável correta) -> estou explicando isso para poder tirar qualquer dúvida do colega marsolim.

 

como segue link de jpg -> http://www.rogarfil.com.br/enviarImagens/form_idx.jpg

 

2- Caro, Thiago - Bulfaitelo,
O problema é quando entro no segundo form_usuario, a variável que vem do primeiro form não chega no meu <select>, desta forma
não estou conseguindo deixar ele ativo com a escolha que foi feita.
O meu WHILE na tag <select> lista todas as opções que vem do banco, pois estou dando ao usuário a oportunidade de trocar.

 

como segue link's de jpg -> http://www.rogarfil.com.br/enviarImagens/form_usuario_.jpg , http://www.rogarfil.com.br/enviarImagens/pag1.jpg e http://www.rogarfil.com.br/enviarImagens/pag2.jpg.

 

Peço que depois estas explicações e o meu entendimento por alguma solução, peço aos caros que me auxilie no uso do seguinte botão: [ <> ] facilita muito a visualização do código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O valor da variavel pk_plano estão realmente sendo enviadas corretamente ?

Está meio confuso seu código tentar fazer assim: use essa função:

function optionPKPlano($id_recebido)
{
     $form="<option value='0'> Selecionar </option>";
     
        $query="SELECT pk_plano, nm_plano FROM TB_Plano";
        $result=mysqli_query($query);
        while ($row=mysqli_fetch_array($result))
        {
           $nome=$row['nm_plano'];
           $id_plano = $row['pk_plano'];           

           if ($id_plano==$id_recebido)
           {
               $form=$form."<option selected value='$id_plano'> $nome </option> ";
           }
           else
           {
               $form=$form."<option value='$id_plano'> $nome</option> ";
           }
         }    
     return $form;
}

E troque seu código para isso:

<?php
nclude 'cadastro/config.php';

$pk_plano = $_POST ["pk_plano"];

$Option_TB_Plano_pk_plano = optionPKPlano($id_recebido);

?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Formulário</title>
        <link rel="stylesheet" type="text/css" href="css/style.css" />
 
    </head>
    <body>
        <section id="corpo-full">
            <h3>Preencha os dados abaixo para contratar seu Plano</h3>
            <form id="cadastro" name="cadastro" method="post" action="cadastro/insere_usuario.php">
                <fieldset>
                    <fieldset class="grupo">
                        <div class="campo">
                            <label for="plano">Plano Escolhido</label>
                            <select name="TB_Plano_pk_plano" id="plano">
                               <?php  Option_TB_Plano_pk_plano; ?>
                            </select>
                        </div>

Ve se isso resolve seu problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado marsolim,

 

Venho ratificar minha resposta de ontem, que por um gênio que tenho não presto atenção como deveria. Somente em casa com tranquilidade pude ver e entender o que vc havia escrito, queira desculpar! E informo que realmente reparei o meu erro, na página citada por vc.

 

Abs,


Prezado Thiago,

 

Vou tentar ser mais minucioso, a minha página index.php passa através de post a variável para a página form_usuario.php, esta etapa e realizada e está tudo, OK.

 

O que tem que acontecer com a página form_usuario.php, ela recebe o valor da variável verifica no banco e mostra uma tag <select> com destaque(ativado, em primeiro plano) do nome da variável passada, e também todas as outras opções existente no banco veja: http://www.rogarfil....magens/pag2.jpg.

O que não estou conseguindo e fazer esta variável que esta vindo ficar em destaque na tag <select>, o resto do processo consigo. No entanto eu estou dando um selected na primeira <option>.

 

Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Thiago,

 

Vou tentar ser mais minucioso, a minha página index.php passa através de post a variável para a página form_usuario.php, esta etapa e realizada e está tudo, OK.

 

O que tem que acontecer com a página form_usuario.php, ela recebe o valor da variável verifica no banco e mostra uma tag <select> com destaque(ativado, em primeiro plano) do nome da variável passada, e também todas as outras opções existente no banco veja: http://www.rogarfil....magens/pag2.jpg.

O que não estou conseguindo e fazer esta variável que esta vindo ficar em destaque na tag <select>, o resto do processo consigo. No entanto eu estou dando um selected na primeira <option>.

 

Abs,

 

Agora que entendi sue problema espero que seja isso, substitua lá a linha: por essa minha:

 

<option value="<?php $pk_plano."\" ";
if ($pk_plano == $_POST ["pk_plano"]) {
    echo 'selected';
}
?> >
    <?php echo $nome_plano; ?>
</option>

Parece que você está inserindo o selected dentro do value do option, por isso que não está funcionando. provavelmente o value dele também deve está errado, confere só.

 

Caso não de certo por favor me manda novamente o screnn do html resultante disso,

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Thiago,

 

Aonde estou errando que não vejo!!!

<?php
include 'cadastro/config.php';
$pk_plano = $_POST ["pk_plano"];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Formulário</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<section id="corpo-full">
<h3>Preencha os dados abaixo para contratar seu Plano</h3>
<form id="cadastro" name="cadastro" method="post" action="cadastro/insere_usuario.php">
<fieldset>
<fieldset class="grupo">
<div class="campo">
<label for="plano">Plano Escolhido</label>
<select name="TB_Plano_pk_plano" id="plano">
<?php
echo $pk_plano = $_POST ["pk_plano"]; (Deste ponto em diante a variável não é reconhecida?)
?>
<?php
$consulta_plano = mysqli_query($dados, "SELECT pk_plano, nm_plano FROM TB_Plano");
$res = mysqli_query($consulta_plano);
$nome_plano = $res ["nm_plano"];
?>
<option value="<?php $pk_plano."\" ";
if ($pk_plano == $_POST ["pk_plano"]) {
echo 'selected';
}
?>>"
<?php echo $nome_plano; ?>
</option>
<?php
while ($plano = mysqli_fetch_array($consulta_plano)) {
$vpk_plano = $plano["pk_plano"];
$vnm_plano = $plano["nm_plano"];
echo ("<option value='" . $vpk_plano . "'>" . $vnm_plano . "</option>");
}
?>
</select>
</div>
Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

rogarfil, O Sr. Não entendeu o que eu estou pedindo,

 

Execute a pagina, essa que não esta carregando selecionado o option do campo Select aperte as seguintes teclas Ctrl + u (Esses comandos funcionam normalmente nos navegadores Firefox, Chorme, e Explorer ) Esse código que aparecer me passe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Thiago,

 

Segue:

2<!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8" /> <title>Formulário</title> <link rel="stylesheet" type="text/css" href="css/style.css" /> </head> <body> <section id="corpo-full"> <h3>Preencha os dados abaixo para contratar seu Plano</h3> <form id="cadastro" name="cadastro" method="post" action="cadastro/insere_usuario.php"> <fieldset> <fieldset class="grupo"> <div class="campo"> <label for="plano">Plano Escolhido</label> <select name="TB_Plano_pk_plano" id="plano"> 2 <br /> <b>Warning</b>: mysqli_query() expects at least 2 parameters, 1 given in <b>F:\xampp\htdocs\www\planodeassistenciafuneral\form_usuario.php</b> on line <b>29</b><br /> <option value=\"selected=\"selected\"> </option> <option value='1'>Diamante</option><option value='2'>Ouro</option><option value='3'>Prata</option><option value='4'>Bronze</option> </select> </div> <div class="campo"> <label for="cpf">CPF</label> <input type="text" id="cpf" name="pk_usuario_cpf" style="width: 10em" onChange='valida(), mascara(this, mcpf);' maxlength="11" value="" /> </div> </fieldset> <fieldset class="grupo"> <div class="campo"> <label for="data_nascimento">Data nascimento</label> <input type="text" id="data_nascimento" name="dt_nascimento" style="width: 10em" onkeyup='mascara(this, mdata), onBlur=CalcularIdade($dt_nascimento)' value="" /> </div> <div class="campo"> <label for="nome">Nome</label> <input type="text" id="nome" name="nm_usuario" style="width: 30em" value="" /> </div> </fieldset> <fieldset class="grupo"> <div class="campo"> <label for="senha">Senha</label> <input type="password" id="senha" name="tx_senha" style="width: 10em" maxlength="8" value="" /> </div> <div class="campo"> <label for="email">E-mail</label> <input type="text" id="email" name="tx_email" style="width: 30em" value="" /> </div> </fieldset> <input type="hidden" name="dt_cadastro" value="2015-04-03"/> <input type="hidden" id="ativo" name="fl_ativo" value="1" /> <input type="hidden" id="permissao" name="TB_Permissoes_pk_permissao" value="1" /> <input type="hidden" id="permissao" name="TB_Permissoes_cd_nivel_acesso" value="0" /> <button name="cadastrar" type="submit" id="cadastrar" value="Concluir 1º Cadastro!">Confirmar</button> </fieldset> </form> </section> <!-- Javascript - Colocado no final do documento para que as páginas carreguem mais rápido --> <script type="text/javascript" src="js/funcoes.js" ></script> </body> </html> Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites
2<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8" />
<title>Formulário</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<section id="corpo-full">
<h3>Preencha os dados abaixo para contratar seu Plano</h3>
<form id="cadastro" name="cadastro" method="post" action="cadastro/insere_usuario.php">
<fieldset>
<fieldset class="grupo">
<div class="campo">
<label for="plano">Plano Escolhido</label>
<select name="TB_Plano_pk_plano" id="plano">
2 <br />
<b>Warning</b>: mysqli_query() expects at least 2 parameters, 1 given in <b>F:\xampp\htdocs\www\planodeassistenciafuneral\form_usuario.php</b> on line <b>29</b><br />
<option value=\"selected=\"selected\">
</option>
<option value='1'>Diamante</option><option value='2'>Ouro</option><option value='3'>Prata</option><option value='4'>Bronze</option> </select>
</div>
<div class="campo">
<label for="cpf">CPF</label>
<input type="text" id="cpf" name="pk_usuario_cpf" style="width: 10em" onChange='valida(), mascara(this, mcpf);' maxlength="11" value="" />
</div>
</fieldset>
<fieldset class="grupo">
<div class="campo">
<label for="data_nascimento">Data nascimento</label>
<input type="text" id="data_nascimento" name="dt_nascimento" style="width: 10em" onkeyup='mascara(this, mdata), onBlur=CalcularIdade($dt_nascimento)' value="" />
</div>
<div class="campo">
<label for="nome">Nome</label>
<input type="text" id="nome" name="nm_usuario" style="width: 30em" value="" />
</div>
</fieldset>
<fieldset class="grupo">
<div class="campo">
<label for="senha">Senha</label>
<input type="password" id="senha" name="tx_senha" style="width: 10em" maxlength="8" value="" />
</div>
<div class="campo">
<label for="email">E-mail</label>
<input type="text" id="email" name="tx_email" style="width: 30em" value="" />
</div>
</fieldset>
<input type="hidden" name="dt_cadastro" value="2015-04-03"/>
<input type="hidden" id="ativo" name="fl_ativo" value="1" />
<input type="hidden" id="permissao" name="TB_Permissoes_pk_permissao" value="1" />
<input type="hidden" id="permissao" name="TB_Permissoes_cd_nivel_acesso" value="0" />
<button name="cadastrar" type="submit" id="cadastrar" value="Concluir 1º Cadastro!">Confirmar</button>
</fieldset>
</form>
</section>
<!-- Javascript - Colocado no final do documento para que as páginas carreguem mais rápido -->
<script type="text/javascript" src="js/funcoes.js" ></script>
</body>
</html>

Caro Thiago,

 

Consegui fazer aparecer um único nome em destaque o código 1, embora eu escolha outro valor ele sempre aparece o 1º.

 

Abs,


Meus Caros Colegas,

 

Resolvi meu problema e segue o código que executa o que preciso:

 

<?php
include 'cadastro/config.php';
$pk_plano = $_POST ["pk_plano"];
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8" />
<title>Formulário</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<section id="corpo-full">
<h3>Preencha os dados abaixo para contratar seu Plano</h3>
<form id="cadastro" name="cadastro" method="post" action="cadastro/insere_usuario.php">
<fieldset>
<fieldset class="grupo">
<div class="campo">
<label for="plano">Plano Escolhido</label>
<select name="TB_Plano_pk_plano" id="plano">
<?php
$consulta_plano = mysqli_query($dados, "SELECT pk_plano, nm_plano FROM TB_Plano WHERE pk_plano = '$pk_plano'");
$res = mysqli_fetch_assoc($consulta_plano);
echo $pk_plano = $res ["pk_plano"];
echo $nome_plano = $res ["nm_plano"];
?>
<option value=\"<?php $pk_plano."\" ";
if ($pk_plano == $_POST ['pk_plano']) {
echo 'selected=\"selected\"';
}
?>>
<?php echo $nome_plano; ?>
</option>
<?php
$consulta_plano_lista = mysqli_query($dados, "SELECT pk_plano, nm_plano FROM TB_Plano");
while ($plano = mysqli_fetch_array($consulta_plano_lista)) {
$vpk_plano = $plano["pk_plano"];
$vnm_plano = $plano["nm_plano"];
echo ("<option value='" . $vpk_plano . "'>" . $vnm_plano . "</option>");
}
?>
</select>
</div>
Abs a Todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Tatsunow,

 

Peço que me ajude se viu algo bem incomum de utilizar, pois embora facilitei de uma forma errada para resolver o problema do minha tag <select> estou com problemas de receber via post seu conteudo.

 

Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezados Colegas,

 

Embora o esforço de todos e a busca de entendimento por minha parte o código ficou desta forma, conforme a explicação dos senhores.

 

$pk_plano = $_POST ["pk_plano"];

 

<div class="campo">
<label for="plano">Plano Escolhido</label>
<select name="TB_Plano_pk_plano" id="plano">
<?php
$consulta_plano = mysqli_query($dados, "SELECT pk_plano, nm_plano, vl_plano FROM TB_Plano");
$res = mysqli_fetch_assoc($consulta_plano);
echo $pk_plano = $res ["pk_plano"];
$nome_plano = $res ["nm_plano"];
$valor_plano = $res ["vl_plano"];
?>
<option value=<?php $pk_plano;
if ($pk_plano == $_POST ['pk_plano']) {
echo 'selected=\"selected\"';
}
?>>
<?php echo $nome_plano." - ".$valor_plano; ?>
</option>
<?php
while ($plano = mysqli_fetch_array($consulta_plano)) {
$vpk_plano = $plano["pk_plano"];
$vnm_plano = $plano["nm_plano"];
$vvl_plano = $plano["vl_plano"];
echo ("<option value='".$vpk_plano."'>".$vnm_plano." - ".$vvl_plano."</option>");
}
?>
</select>
</div>
Bem o que esta ocorrendo agora é que sempre fica a primeira opção como ativa e aparece as outras para escolha, qdo da escolha o clique no botão pela primeira vez antes de entrar neste form é que ele mantenha no select essa opção selecionada.
Abs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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