Ir para conteúdo

POWERED BY:

Arquivado

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

baronfa1

Retorno de um select para PHP

Recommended Posts

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

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

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

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

É 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

×

Informação importante

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