tmwh Posted August 15, 2013 at 09:30 PM Report #521844 Posted August 15, 2013 at 09:30 PM (edited) Boa noite. Tenho um código para preencher uma combobox com uma query sql que funciona bem, ou seja, apresenta na combobox os valores pedidos. O problema está em não conseguir obter o valor escolhido "numero" para introduzir novamente em BD. Tenho um script inserir_tempo.php: <?php require_once('Connections/ligacao.php'); ?> <?php //RECEBE AS VARIAVEIS DO FORMULARIO $numero=$_POST['numero']; $horas=$_POST['horas']; $minutos=$_POST['minutos']; $segundos=$_POST['segundos']; $time = $horas.":".$minutos.":".$segundos; $sql = sprintf('UPDATE tabela SET tempo = "%s" WHERE numero = %s', $time, $numero); $sql = mysql_query($sql); ?> Tenho o form_tempo com a parte da combobox: <form action="inserir_tempo.php" method="post" > <label> <select style="color:#FFFFFF;background-color:#000000"> <option>-----</option> <?php $sql = "SELECT numero FROM tabela WHERE tempo = 0 ORDER BY numero ASC"; $executar = mysql_query($sql) or die(mysql_error()); while($reg = mysql_fetch_array($executar)) { ?> <option value id="<?php $reg['id'];?>"><?php echo $reg['numero'];?></option> <?php } ?> </select> </label> <input name="inserir" type="submit" id="inserir" value="Inserir" /> </label> </form> Edited August 16, 2013 at 05:42 PM by yoda
AJBM Posted August 15, 2013 at 09:53 PM Report #521846 Posted August 15, 2013 at 09:53 PM Boas! No select da um name, e depois no inserir tempo pões $_POSt['o_nome_que_deste']
tmwh Posted August 15, 2013 at 10:39 PM Author Report #521847 Posted August 15, 2013 at 10:39 PM Boas! No select da um name, e depois no inserir tempo pões $_POSt['o_nome_que_deste'] Boas. Fiz como disseste mas obtive erro na ligação: <label> <select name="numero" style="color:#FFFFFF;background-color:#000000"> <option>-----</option> Terá a ver com isto? $sql = sprintf('UPDATE tabela SET tempo = "%s" WHERE numero = %s', $time, $numero);
oxyzero Posted August 15, 2013 at 11:07 PM Report #521849 Posted August 15, 2013 at 11:07 PM O problema está em mandares atualizar com valores que não existem. Se definires o <select> com um name de: "numero", vais ter de definir para cada <option> um value, ou seja, é o valor da combobox, por exemplo "valorX". Ou seja, depois de clicares no botão, vais ter uma variavel $_POST["numero"] que tem o valor de "valorX". Neste momento, as tuas variaveis $numero, $horas, $minutos, $segundos e $time não têm valor. Se esse $time significa o tempo atual, ou seja, quando é clicado o botão, tens de usar funções de PHP por exemplo para te dar esse valor. Por exemplo: date('H-i-s',time()); (mas não te esqueças que tens de definir o timezone, pesquisa mais aqui: http://php.net/manual/pt_BR/function.date.php ).
tmwh Posted August 16, 2013 at 08:05 AM Author Report #521854 Posted August 16, 2013 at 08:05 AM Boas. As variáveis existem e os valores tambem, eu apenas não coloquei o código completo para não tornar extenso. Se utilizar uma combo normal com os numeros de 001 a 200 funciona bem apenas não consigo faze-lo quando faço o select para preencher a combo dos numeros. A variável "numero" está como text pois quero que fique "001" e nao apenas 1. $numero=$_POST['numero']; Porque dizes que a variável $numero nao tem valor? As variaveis de tempo sao criadas com combobox tambem.
oxyzero Posted August 16, 2013 at 05:03 PM Report #521876 Posted August 16, 2013 at 05:03 PM Boas. As variáveis existem e os valores tambem, eu apenas não coloquei o código completo para não tornar extenso. Se utilizar uma combo normal com os numeros de 001 a 200 funciona bem apenas não consigo faze-lo quando faço o select para preencher a combo dos numeros. A variável "numero" está como text pois quero que fique "001" e nao apenas 1. $numero=$_POST['numero']; Porque dizes que a variável $numero nao tem valor? As variaveis de tempo sao criadas com combobox tambem. Eu estava a dizer que não tinha valores, porque a partir do código que forneceste não tinha informação para lhes dar valor. $numero não tem valor porque não tinhas dado um name ao select, mas pelos vistos já deste. Se o teu problema é a preencher a combo dos números, ou seja, fazer output deles para a combobox, eu diria que talvez fosse isto: <option value="oTeuValor" id="<?php $reg['id'];?>"><?php echo $reg['numero'];?></option> oTeuValor é esse número que queres passar, ou seja, tens de substituir isso com a variável que tenha essa informação. Porque pelo que percebi, o teu problema não está quando escreves a combobox, pois ela é desenhada corretamente, mas sim quando selecionas algo e envias.
tmwh Posted August 16, 2013 at 10:10 PM Author Report #521907 Posted August 16, 2013 at 10:10 PM (edited) Boas AJBM e oxyzero. Consegui resolver o problema. 🙂 No select indiquei: <select name="numero" id="numero" style="color:#FFFFFF;background-color:#000000"> e no option retirei o value que não indicava valor nenhum e talvez estivesse a criar confusão: <option id="<?php $reg['id'];?>"><?php echo $reg['numero'];?></option> Obrigado pelas dicas. Edited August 16, 2013 at 10:12 PM by tmwh
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now