Ir para conteúdo

POWERED BY:

Arquivado

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

*Michelle*

Retornar dados nos campos de um formulário html

Recommended Posts

Olá, estou aqui novamente pertubando vocês... mas dessa vez vou explicar detalhadamente o meu problema.

Vamos lá... Eu tenho um formulário de avaliação de funcionários, onde o avaliador vai digitar as informações e clicar no botão para enviar ao banco de dados MySQL. Depois disso, aparece uma mensagem de confirmação e volta pra página com a listagem dos funcionários. Nesta página, ele tem 2 opções: Avaliar e Consultar Avaliação. O problema está nessa bendita consulta!

 

Ele me passou duas opções de formas pra gerar isso [ele prefere a segunda, logo a pior]:

1ª - Tem que aparecer um relatório com todos os dados que foram cadastrados;

2ª - Mostra a mesma página do formulário de avaliação, sendo que totalmente preenchido com os dados do funcionário que estão no banco.

 

Até a página de avaliação eu consegui fazer, mas o processo de consulta não! Eu não sei como faço pra exibir os dados cadastrados dentro de um campo TEXT, por exemplo.

 

Por favor, alguém me ajude pois preciso entregar isso pronto até segunda-feira!!!

Só me digam se tem um jeito de exibir isso de volta nos campos e como que faço. Já tô surtando com isso! rsrs

 

Abs,

Michelle

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem como sim, perfeitamente.

 

Uma vez você tendo o identificador do funcionário (campo id, por exemplo), você faz a consulta ao banco de dados:

 

SELECT * FROM funcionarios WHERE id = $id

E resgatando cada valor necessário, você distribui entre os campos, por exemplo:

 

<input type="text" name="nome" value="<?php echo $rs['nome']?>" />

[]'s ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Heellllppppp!

 

Na minha página de consulta tah faltando o quê? Eu só preciso terminar esse código pra ter um exemplo e fazer o resto. =/

Nem consigo mais pensar.... =S

Tá dando esse erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE nome_colab =' at line 1

 

<?php

include "verifica.php";
include "configuracao3.php";

$con = mysql_connect ("$host", "$login_db", "$senha_db");
$basedados = mysql_select_db($database, $con);

$sql = mysql_query("SELECT * FROM avaliacoes WHERE nome_colab = $nome_colab") or print (mysql_error());

?>

<html>
<head>
<title></title>
</head>

<body>

Nome:
<input type="text" name="nome_colab" value="<?php =$nome_colab ?>" />

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

<?php

include "verifica.php";
include "configuracao3.php";

$con = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database, $con);

$sql = mysql_query("SELECT * FROM avaliacoes WHERE nome_colab = '$nome_colab' LIMIT 1 OFFSET 0") or print (mysql_error());

$row = mysql_fetch_array($sql);
?>

<html>
<head>
<title></title>
</head>

<body>

Nome:
<input type="text" name="nome_colab" value="<?php =$row['nome_colab'] ?>" />

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Copiando e colando de outras respostas minhas em outros tópicos... ^_^

 

A menos que a sua diretiva register_globals esteja on, método que não é recomendado pelo próprio manual, você conseguirá resgatar o valor destas variáveis de formulário de forma direta como está sendo feito.

 

Tente usando variáveis superglobais, no seu caso $_POST.

 

http://www.php.net/register_globals

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código é esse:

 

<?php

require "configuracao3.php";

$con = mysql_connect ("$host", "$login_db", "$senha_db");
$basedados = mysql_select_db($database, $con);

$sql = mysql_query("SELECT * FROM `avaliacoes` WHERE `nome_colab` = '$nome_colab'") or print (mysql_error());

?>

<html>
<head>
<title></title>
</head>

<body>

Nome:
<input type="text" name="nome_colab" size=30 value="<?php echo $nome_colab ?>" />
<p>

</body>
</html>

Não dá erro nenhum, apenas aparece o campo em branco, como se não tivesse nada na tabela. =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

<?php

require "configuracao3.php";

$con = mysql_connect ("$host", "$login_db", "$senha_db");
$basedados = mysql_select_db($database, $con);

// mudei essa linha (compare-as e analise-as)
$sql = mysql_query("SELECT * FROM `avaliacoes` WHERE `nome_colab` = '$_REQUEST['nome_colab']' LIMIT 1") or print (mysql_error());

// adicionei essa linha, olha no manual do php sobre a função mysql_fetch_array
$row = mysql_fetch_array($sql);
?>

<html>
<head>
<title></title>
</head>

<body>

Nome:
<input type="text" name="nome_colab" size=30 value="<?php echo $row['nome_colab']; ?>" />
<p>

</body>
</html>

 

se a conexão estiver funcionando e os nomes dos campos batendo com as tabelas, isso com certeza deve funcionar.

 

qualquer coisa posta ae...

Compartilhar este post


Link para o post
Compartilhar em outros sites
CODE
<?php

require "configuracao3.php";

$con = mysql_connect ("$host", "$login_db", "$senha_db");
$basedados = mysql_select_db($database, $con);

// mudei essa linha (compare-as e analise-as)
$sql = mysql_query("SELECT * FROM `avaliacoes` WHERE `nome_colab` = '$nome_colab' LIMIT 1",$con) or print (mysql_error());

// adicionei essa linha, olha no manual do php sobre a função mysql_fetch_array
$row = mysql_fetch_array($sql);
?>

<html>
<head>
<title></title>
</head>

<body>

Nome:
<input type="text" name="nome_colab" size=30 value="<?php echo $row[0]; ?>" />
<p>

</body>
</html>


Se persistir o problema tente exibir o numero de linhas que a query executou, exemplo:

$linha = mysql_num_rows($sql);

Se retornar zero não esta pengando nada, e tambem verifique esta variavel($nome_colab) para ver se ela esta trazendo algo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguite exibir esta variavel($nome_colab) na tela

 

echo $nome_colab;

 

e olha se ela esta pegando alguma coisa

 

outra tambem, exebiba sua query na tela, assim:

 

echo $sql;

 

e olha se esta fazendo o slq certo, testando no phpmyadmin, duvida posta ai de novo.

 

 

 

Respondendo sua pergunta, por que esta aparecendo o zero, ai o problema deve ser nessa variavel($nome_colab), tambem tente pegar o primeiro campo da tabela, exemplo:

 

$sql = mysql_query("SELECT * FROM `avaliacoes` WHERE `nome_colab` = '1' LIMIT 1",$con) or print (mysql_error());

 

 

 

Se continuar o problema, mostra sua estrutura da sua tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, pessoal!!!

Não sei como, nem onde, nem porquê esse troço resolveu funcionar agora! rsrsrs

Obrigada a todos que se esforçaram [e muito!] pra tentarem me ajudar!

Obrigada mesmo!!! =D

 

No final, o 'bendito' código ficou assim:

 

<?php

require "configuracao3.php";

$con = mysql_connect ("$host", "$login_db", "$senha_db");
$basedados = mysql_select_db($database, $con);

$nome_colab = $_GET['nome_colab'];
$ccusto = $_GET['ccusto'];
$tempocia = $_GET['tempocia'];	

$sql = mysql_query("SELECT * FROM `avaliacoes` WHERE matricula = '291'") or print (mysql_error());

$row = mysql_fetch_array($sql);

?>

<html>
<head>
<title></title>
</head>

<body>

Nome:
<input type="text" name="nome_colab" id="nome_colab" size=30 value="<?php echo $row['NOME_COLAB']; ?>" />
<p>

C. Custo:
<input type="text" name="ccusto" id="ccusto" size=30 value="<?php echo $row['CCUSTO']; ?>" />
<p>

Tempo Cia:
<input type="text" name="tempocia" id="tempocia" size=30 value="<?php echo $row['TEMPOCIA']; ?>" />
<p>

</body>
</html>

Aproveitando a onda, como eu faço pra exibir a opção escolhida quando em vez de campo texto, for RADIO?

Por que no formulário tem uma tabela onde o avaliador vai escolher uma nota para o funcionário, entre 6 opções de RADIO.

No caso, cada opção tem um value diferente e no final tem um campo TEXT com o total (isso eu já sei como exibir =P). Como eu faço?

 

Exemplo da tabela:

<tr>
<td class="form_texto">Habilidades para solução de problemas</td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="1" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="2" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="3" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="4"/>
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="5" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="N/A" />
</div></td>
</tr>

Abs,

Michelle *php desesperada*

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, pessoal!!!

Não sei como, nem onde, nem porquê esse troço resolveu funcionar agora! rsrsrs

Obrigada a todos que se esforçaram [e muito!] pra tentarem me ajudar!

Obrigada mesmo!!! =D

 

No final, o 'bendito' código ficou assim:

 

<?php

require "configuracao3.php";

$con = mysql_connect ("$host", "$login_db", "$senha_db");
$basedados = mysql_select_db($database, $con);

$nome_colab = $_GET['nome_colab'];
$ccusto = $_GET['ccusto'];
$tempocia = $_GET['tempocia'];	

$sql = mysql_query("SELECT * FROM `avaliacoes` WHERE matricula = '291'") or print (mysql_error());

$row = mysql_fetch_array($sql);

?>

<html>
<head>
<title></title>
</head>

<body>

Nome:
<input type="text" name="nome_colab" id="nome_colab" size=30 value="<?php echo $row['NOME_COLAB']; ?>" />
<p>

C. Custo:
<input type="text" name="ccusto" id="ccusto" size=30 value="<?php echo $row['CCUSTO']; ?>" />
<p>

Tempo Cia:
<input type="text" name="tempocia" id="tempocia" size=30 value="<?php echo $row['TEMPOCIA']; ?>" />
<p>

</body>
</html>

Aproveitando a onda, como eu faço pra exibir a opção escolhida quando em vez de campo texto, for RADIO?

Por que no formulário tem uma tabela onde o avaliador vai escolher uma nota para o funcionário, entre 6 opções de RADIO.

No caso, cada opção tem um value diferente e no final tem um campo TEXT com o total (isso eu já sei como exibir =P). Como eu faço?

 

Exemplo da tabela:

<tr>
<td class="form_texto">Habilidades para solução de problemas</td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="1" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="2" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="3" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="4"/>
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="5" />
</div></td>
<td class="form_texto"><div align="center">
<input name="habproblemas" id= "habproblemas" type="radio" value="N/A" />
</div></td>
</tr>

Abs,

Michelle *php desesperada*

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um if, pega o valor do campo da tabela e faz um teste:

 

por exemplo:

 

 

 

<?

if ($campo == 1){

$masc = "checked='checked'" ;

}

elseif ($campo == 2){

$fem = "checked='checked'" ;

}

?>

<input type="radio" name="sx" value="1" <? echo $masc;?>/>

<input type="radio" name="sx" value="2" <? echo $fem?>/>

 

eu fiz um exemplo do sexo da pessoa, onde o um é masculo e o dois é feminino....

 

aí ele da um checked no campo certo..

 

qualquer duvida posta de novo ok?

 

[]'s

 

Eduardo Matsuzaki

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.