baronfa1 0 Denunciar post Postado Junho 21, 2013 Pessoal, estou iniciando programação em PHP e tenho uma duvida, será que poderiam me ajudar ? Seguinte, criei uma tabela no banco com umas parametrizações de tamanho de campos, que só consigo alterar esses valores na tabela. Por exemplo no minha tabela, tenho cod_cliente e desc_cliente, nele tenho os valores, que eu setei 4 e 50, por exemplo, com a programação que eu fiz, só consigo dar um uptade nesses valores. Fiz isso com a ideia de ter meus campos configuraveis nos input do html, para que o cod_cliente tenha só a quantidade eu coloquei na minha tabela. Agora vem a questão. Como recupero esse cod_cliente e jogo ele no size="....." e no maxlength="......" Fiz um: $sql = "select cod_cliente,desc_cliente from parametros;"; $resultado = mysql_query($sql)or die (mysql_error()); while ($linha=mysql_fetch_array($resultado)) { $cod_cliente = $linha["cod_cliente"]; $desc_cliente = $linha["desc_cliente"]; } Mas estou com dificuldade de jogar esses valores recuperados para que seja por exemplo um retorno 4 e que esses campos size e maxlength sejam 4 Se alguem puder me ajudar, ficaria grato. Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Junho 21, 2013 Tem um erro ai na query: $sql = "SELECT cod_cliente, desc_cliente FROM parametros"; Estava com um ; depois de parametros. Geralmente as palavras reservadas do SQL escrevemos em caixa alta, como fiz acima, assim, facilita a identificação do que é de tabela e condição do que é nativo do SQL. E dentro do while, é só montar o html que deseja imprimir: $sql = "SELECT cod_cliente, desc_cliente FROM parametros"; $resultado = mysql_query($sql)or die (mysql_error()); while ($linha = mysql_fetch_array($resultado)) { echo ' <select name="cliente"> <option value="' . $linha["cod_cliente"] . '">' . $linha["desc_cliente"] . '</option> ' . PHP_EOL . ' </select> '; } Compartilhar este post Link para o post Compartilhar em outros sites
baronfa1 0 Denunciar post Postado Junho 21, 2013 Legal, Isso me retorna o valor que esta na tabela dentro do combo. Mas se eu quiser retornar esse valor dentro do size e do maxlength, como uma forma de limitar o imput com esse valor retornado ? Como faço ? Compartilhar este post Link para o post Compartilhar em outros sites
Osmar L Lima 51 Denunciar post Postado Junho 21, 2013 Primeiro você obtem o tamanho do campo que foi definido dentro do BD: Ex: $cc->conecta(); $sql = $cc->sql_query("select nome,email from suatabela");#Só um exemplo $t_nome = mysql_field_len($sql,0);#Tamanho do campo nome $t_email = mysql_field_len($sql,1);#Tamanho do campo email ?> Depois no atributo do input você coloca os valores retornados: Ex: <input type="text" size="40" maxlength="<?php echo $t_nome;?>" name="nome"/> O valor do atributo size não é importante uma vez que ele não limita o número de caracteres e sim apenas seu tamanho aparente dentro do form. Compartilhar este post Link para o post Compartilhar em outros sites
baronfa1 0 Denunciar post Postado Junho 21, 2013 É quase, isso. Fiz isso, mas ele me retornou um numero estranho. Para o cod_cliente retornou valor = 15 e para o desc_cliente =100 mysql> select * from cliente;+------------+-------------+--------------+| id_cliente | cod_cliente | desc_cliente |+------------+-------------+--------------+| 3 | 6 | 51 |+------------+-------------+--------------+1 row in set (0.00 sec) Queria que retornasse o 6 e o 51 dentro do maxlength, como na minha tabela . Consegui já...Fiz...$sql = "select cod_cliente,desc_cliente from cliente"; $resultado = mysql_query($sql)or die (mysql_error()); while ($linha=mysql_fetch_array($resultado)) { $n_cod_cliente = $linha["n_cod_cliente"]; $n_desc_cliente = $linha["n_desc_cliente"]; }?>Depois coloquei para recuperar...<input type="text" size="40" maxlength="<?php echo $n_cod_cliente;?>" name="n_cod_cliente"/> Coisa simples, mas estava errando na hora do <?php echo $n_cod_cliente;?>" Compartilhar este post Link para o post Compartilhar em outros sites