Paulo Emilio Postado Março 8, 2010 Denunciar Share Postado Março 8, 2010 meu form: <form id="formnivel" action="trataNivel.php" method="post" > <tr> <th align="right" valign="center"> <div align="right">Status:</div> </th> <td align="left"> <div align="left"> <?php echo combo($campos, $tabela, $crivo, 'cmbestado'); ?> </div> </td> </tr>A função combo() marca sempre a 1a. opção do combo(select) como "selected", testei mudando para a 2a. opção e funcionou normal, porém, Quando tento pegar o valor selecionado no combo(select) 'cmbestado' no arquivo trataNivel.php com o comando: $est = (int)trim($_POST["cmbestado"]) o valor é sempre zero, será alguma configuração que foi modificada ? obs.: este $_POST funcionava anteriormente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 8, 2010 Denunciar Share Postado Março 8, 2010 Dá um print_r($_POST) para ver o que está vindo do formulário... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Emilio Postado Março 8, 2010 Autor Denunciar Share Postado Março 8, 2010 meu form: <form id="formnivel" action="trataNivel.php" method="post" > <tr> <th align="right" valign="center"> <div align="right">Status:</div> </th> <td align="left"> <div align="left"> <?php echo combo($campos, $tabela, $crivo, 'cmbestado'); ?> </div> </td> </tr>A função combo() marca sempre a 1a. opção do combo(select) como "selected", testei mudando para a 2a. opção e funcionou normal, porém, Quando tento pegar o valor selecionado no combo(select) 'cmbestado' no arquivo trataNivel.php com o comando: $est = (int)trim($_POST["cmbestado"]) o valor é sempre zero, será alguma configuração que foi modificada ? obs.: este $_POST funcionava anteriormente. com o comando print_r($_post) apareçe o nome de outro combo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Março 8, 2010 Denunciar Share Postado Março 8, 2010 Paulo,Poste o código fonte da função "combo"Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Emilio Postado Março 8, 2010 Autor Denunciar Share Postado Março 8, 2010 <?phpfunction combo($campos, $tabela, $crivo, $nome="cmbestado", $rep=0){ include "mysqlconfig.php"; // conecta banco dbagenda if ($rep == 0){ include "mysqllistar.php"; // Executa a cláusula SQL } $sql = "select ".$campos." from ".$tabela." ".$crivo.";"; //Busca// echo $sql; $result = mysqllistar($conect, $sql); if ($nome = "cmbprodage") { $tag = "<select id= " .$nome. " name= " .$nome. " onblur='buscaprod(this.value)'>"; //Montagem do combo } elseif ($nome = "cmbfunc") { $tag = "<select id= " .$nome. " name= " .$nome. " onfocus='buscafunc()'>"; //Montagem do combo } else { $tag = "<select id= " .$nome. " name= " .$nome. ">"; //Montagem do combo } $cont = 0; while ($dados = mysql_fetch_array($result)) { ++$cont; if ($cont == 1 && $nome != "cmbrel") { $tag.= "<option value='".$dados[0]."' selected>" .$dados[0]." - ".$dados[1]. "</option>"; } elseif ($cont == 5 && $nome == "cmbrel") { $tag.= "<option value=".$dados[0]."' selected>" .$dados[0]." - ".$dados[1]. "</option>"; } else{ $tag.= "<option value='".$dados[0]."'>" .$dados[0]." - ".$dados[1]. "</option>"; } } mysql_close(); //fecha conexão $tag.= "</select>";return $tag;}function maxchave($campos, $tabela, $crivo, $nome, $rep=0) { include "mysqlconfig.php"; // conecta banco dbagenda if ($rep == 0){ include "mysqllistar.php"; // Executa a cláusula SQL } $sql = "select ".$campos." from ".$tabela." ".$crivo.";"; //Busca $result = mysqllistar($conect, $sql); if ($dados = mysql_fetch_array($result)) { $tag = "<input id=" .$nome. " type='text' name='" .$nome. "' size='5' maxlenght='3' value='" .$dados[0]. "' />"; //Montagem do combo } mysql_close(); //fecha conexãoreturn $tag;}?>meu form: <form id="formnivel" action="trataNivel.php" method="post" > <tr> <th align="right" valign="center"> <div align="right">Status:</div> </th> <td align="left"> <div align="left"> <?php echo combo($campos, $tabela, $crivo, 'cmbestado'); ?> </div> </td> </tr>A função combo() marca sempre a 1a. opção do combo(select) como "selected", testei mudando para a 2a. opção e funcionou normal, porém, Quando tento pegar o valor selecionado no combo(select) 'cmbestado' no arquivo trataNivel.php com o comando: $est = (int)trim($_POST["cmbestado]) o valor é sempre zero, será alguma configuração que foi modificada ? obs.: este $_POST funcionava anteriormente. com o comando print_r($_post) apareçe o nome de outro combo.Apareçe sempre o nome: cmbprodage.<?phpfunction combo($campos, $tabela, $crivo, $nome="cmbestado", $rep=0){ include "mysqlconfig.php"; // conecta banco dbagenda if ($rep == 0){ include "mysqllistar.php"; // Executa a cláusula SQL } $sql = "select ".$campos." from ".$tabela." ".$crivo.";"; //Busca// echo $sql; $result = mysqllistar($conect, $sql); if ($nome = "cmbprodage") { $tag = "<select id= " .$nome. " name= " .$nome. " onblur='buscaprod(this.value)'>"; //Montagem do combo } elseif ($nome = "cmbfunc") { $tag = "<select id= " .$nome. " name= " .$nome. " onfocus='buscafunc()'>"; //Montagem do combo } else { $tag = "<select id= " .$nome. " name= " .$nome. ">"; //Montagem do combo } $cont = 0; while ($dados = mysql_fetch_array($result)) { ++$cont; if ($cont == 1 && $nome != "cmbrel") { $tag.= "<option value='".$dados[0]."' selected>" .$dados[0]." - ".$dados[1]. "</option>"; } elseif ($cont == 5 && $nome == "cmbrel") { $tag.= "<option value=".$dados[0]."' selected>" .$dados[0]." - ".$dados[1]. "</option>"; } else{ $tag.= "<option value='".$dados[0]."'>" .$dados[0]." - ".$dados[1]. "</option>"; } } mysql_close(); //fecha conexão $tag.= "</select>";return $tag;}function maxchave($campos, $tabela, $crivo, $nome, $rep=0) { include "mysqlconfig.php"; // conecta banco dbagenda if ($rep == 0){ include "mysqllistar.php"; // Executa a cláusula SQL } $sql = "select ".$campos." from ".$tabela." ".$crivo.";"; //Busca $result = mysqllistar($conect, $sql); if ($dados = mysql_fetch_array($result)) { $tag = "<input id=" .$nome. " type='text' name='" .$nome. "' size='5' maxlenght='3' value='" .$dados[0]. "' />"; //Montagem do combo } mysql_close(); //fecha conexãoreturn $tag;}?>meu form: <form id="formnivel" action="trataNivel.php" method="post" > <tr> <th align="right" valign="center"> <div align="right">Status:</div> </th> <td align="left"> <div align="left"> <?php echo combo($campos, $tabela, $crivo, 'cmbestado'); ?> </div> </td> </tr>A função combo() marca sempre a 1a. opção do combo(select) como "selected", testei mudando para a 2a. opção e funcionou normal, porém, Quando tento pegar o valor selecionado no combo(select) 'cmbestado' no arquivo trataNivel.php com o comando: $est = (int)trim($_POST["cmbestado]) o valor é sempre zero, será alguma configuração que foi modificada ? obs.: este $_POST funcionava anteriormente. com o comando print_r($_post) apareçe o nome de outro combo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Março 8, 2010 Denunciar Share Postado Março 8, 2010 <?php function combo($campos, $tabela, $crivo, $nome="cmbestado", $rep=0){ include "mysqlconfig.php"; // conecta banco dbagenda if ($rep == 0){ include "mysqllistar.php"; // Executa a cláusula SQL } $sql = "select ".$campos." from ".$tabela." ".$crivo.";"; //Busca // echo $sql; $result = mysqllistar($conect, $sql); if ($nome = "cmbprodage") { $tag = "<select id= " .$nome. " name= " .$nome. " onblur='buscaprod(this.value)'>"; //Montagem do combo } elseif ($nome = "cmbfunc") { $tag = "<select id= " .$nome. " name= " .$nome. " onfocus='buscafunc()'>"; //Montagem do combo } else { $tag = "<select id= " .$nome. " name= " .$nome. ">"; //Montagem do combo } $cont = 0; while ($dados = mysql_fetch_array($result)) { ++$cont; if ($cont == 1 && $nome != "cmbrel") { $tag.= "<option value='".$dados[0]."' selected>" .$dados[0]." - ".$dados[1]. "</option>"; } elseif ($cont == 5 && $nome == "cmbrel") { $tag.= "<option value='".$dados[0]."' selected>" .$dados[0]." - ".$dados[1]. "</option>"; } else{ $tag.= "<option value='".$dados[0]."'>" .$dados[0]." - ".$dados[1]. "</option>"; } } mysql_close(); //fecha conexão $tag.= "</select>"; return $tag; } function maxchave($campos, $tabela, $crivo, $nome, $rep=0) { include "mysqlconfig.php"; // conecta banco dbagenda if ($rep == 0){ include "mysqllistar.php"; // Executa a cláusula SQL } $sql = "select ".$campos." from ".$tabela." ".$crivo.";"; //Busca $result = mysqllistar($conect, $sql); if ($dados = mysql_fetch_array($result)) { $tag = "<input id=" .$nome. " type='text' name='" .$nome. "' size='5' maxlenght='3' value='" .$dados[0]. "' />"; //Montagem do combo } mysql_close(); //fecha conexão return $tag; } //TESTANDO A COISA if($_POST['enviar'] == 'Testar App') { printf('<pre>%s</pre>', var_export($_POST['cmbestado'], true)); } echo '<form method="post action="">'; echo combo('id, nome', 'cliente', 'WHERE TRUE'); echo '<input type="submit" name="enviar" value="Testar App">'; echo '</form>'; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Emilio Postado Março 8, 2010 Autor Denunciar Share Postado Março 8, 2010 percebi que o nome que sempre apareçe com print_r é cmbprodage que pertence a um combo de outro form/arquivo php,que manusiei anteriormente e que utiliza a função combo(), tem alguma coisa a ver ???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Março 8, 2010 Denunciar Share Postado Março 8, 2010 Paulo,A função combo tem um parametro que adiciona o nome do combo, veja qual valor esta sendo passado para ela.Abraçospercebi que o nome que sempre apareçe com print_r é cmbprodage que pertence a um combo de outro form/arquivo php,que manusiei anteriormente e que utiliza a função combo(), tem alguma coisa a ver ???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Emilio Postado Março 8, 2010 Autor Denunciar Share Postado Março 8, 2010 percebi que o nome que sempre apareçe com print_r é cmbprodage que pertence a um combo de outro form/arquivo php,que manusiei anteriormente e que utiliza a função combo(), tem alguma coisa a ver ????ao trocar o nome do combo para cmbprodage o form funciona normalmente,minha pergunta é: O que está fazendo com que o combo cmbestado que monto com a função combo()continue com o nome de cmbprodage ???Como eu forço um parâmetro para o caso de nada ser informado no parâmetro $nome, na chamada da função combo(),o nome não deveria ser sempre cmbestado ???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Março 8, 2010 Denunciar Share Postado Março 8, 2010 Paulo, Veja o exemplo do codigo abaixo:<?php function aiai( $arg = 'ursolouco' ) { printf('<h1>%s</h1>', $arg); } for($i=0; $i < 10; $i++) aiai($i); aiai();Como eu forço um parâmetro para o caso de nada ser informado no parâmetro $nome, na chamada da função combo(),o nome não deveria ser sempre cmbestado ???? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Emilio Postado Março 8, 2010 Autor Denunciar Share Postado Março 8, 2010 Muito obrigado, pela ajuda,descobri que quando testo o nome do combo na função combo() estou usando apenas um sinal de igualdade ao invés de dois,mania que trouxe do velho Cobol,de qualquer forma mais uma vez fico muito agradecido pela atenção e ajuda,se todos os fóruns tivessem participantes como vocês,a vida de nós, os inexperientes, seria bem mais fácil.Boa tarde e muito obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Março 8, 2010 Denunciar Share Postado Março 8, 2010 Não me agradeça, faça o mesmo por alguém!AbraçosMuito obrigado, pela ajuda,descobri que quando testo o nome do combo na função combo() estou usando apenas um sinal de igualdade ao invés de dois,mania que trouxe do velho Cobol,de qualquer forma mais uma vez fico muito agradecido pela atenção e ajuda,se todos os fóruns tivessem participantes como vocês,a vida de nós, os inexperientes, seria bem mais fácil.Boa tarde e muito obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paulo Emilio
meu form:
<form id="formnivel" action="trataNivel.php" method="post" >
<tr>
<th align="right" valign="center">
<div align="right">Status:</div>
</th>
<td align="left">
<div align="left">
<?php echo combo($campos, $tabela, $crivo, 'cmbestado'); ?>
</div>
</td>
</tr>
A função combo() marca sempre a 1a. opção do combo(select) como "selected", testei mudando para a 2a. opção e funcionou normal, porém,
Quando tento pegar o valor selecionado no combo(select) 'cmbestado' no arquivo trataNivel.php com o comando: $est = (int)trim($_POST["cmbestado"])
o valor é sempre zero, será alguma configuração que foi modificada ?
obs.: este $_POST funcionava anteriormente.
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
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.