Ir ao conteúdo
  • Cadastre-se

Ajuda com formulários Pegar informações do bando de dados e mostrar no formulário


Ir à solução Resolvido por DiF,

Posts recomendados

Olá pessoal estou com um problema em meu formulário.

 

No meu formulário ele deveria pegar as informações do banco de dados e preencher com o conteudo que está lá.
 

segue o código para analise.

require_once("conect.php");						$acao = $_GET['acao'];						if ($acao == '') {							$sql = mysql_query("SELECT * FROM usuario_f85 WHERE cpf='$cpf'");				$objeto = mysql_fetch_object($sql);				$nome = $objeto->nome;				$mat = $objeto->matricula;				$cpf = $objeto->cpf;				$rg = $objeto->rg;				$setor = $objeto->setor;				$funcao = $objeto->funcao;				$usuario = $objeto->usuario;				$data = $objeto->data;				$lider = $objeto->lider;				$chamado = $objeto->chamado;				$sistema = $objeto->sistema;				$motivo = $objeto->motivo;			}			elseif ($acao == 'atualizar') {							$nome = $_POST["txtnome"];				$mat = $_POST["matricula"];				$cpf = $_POST["cpf"];				$rg = $_POST["rg"];				$setor = $_POST["setor"];				$funcao = $_POST["funcao"];				$usuario = $_POST["usuario"];				$data = $_POST["data"];				$lider = $_POST["lider"];				$chamado = $_POST["chamado"];				$sistema = $_POST["sistema"];				$motivo = $_POST["motivo"];				if($chamado!=''){				$status = "Chamado aberto";				} 				else{					$status = "Aguardando chamado";				}				$altera = mysql_query("Update usuario_f85 set chamado='$chamado', status='$status' where cpf='$cpf'");				header("location: consulta.php");			}			?><!DOCTYPE html><html lang="pt-BR"><head><title>.::Ficha::.</title><meta charset="UTF-8" /><link href="../bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css" /><link href="../bootstrap/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" /><link href="../css/estilo.css" rel="stylesheet" type="text/css" /></head><body>	<div class="contain">	<div class="row banner">		<div class="span12">		</div>	</div>	<br />	<div class="row">		<div class="span2">		</div>		<div class="span8 menu">				<div class="navbar">				<div class="navbar-inner">					<ul class="nav">						<li><a href="ficha.php"><i class="icon-plus"></i> Solicitação de usuário(Novo(a))</a></li>						<li><a href="consulta.php"><i class="icon-search"></i> Consulta / Status</a></li>						<li class="active"><a href="controle.php"><i class="icon-pencil"></i> Controle de Usuários</a></li>						<li><a href="logout.php"><i class="icon-remove"></i>Sair</a></li>					</ul>				</div>			</div>		</div>		<div class="span2">		</div>	</div>		<div class="row">		<div class="span3">		</div>				<div class="span6">			<form class="form-horizontal" action="ficha_editar.php?acao=atualizar" method="post">				<fieldset>				<!-- Form Name -->					<legend>Solicitação de Usuários</legend>				<!-- Text nome-->				<div class="control-group">					<label class="control-label" for="txtnome">Nome:</label>						<div class="controls">							<input id="txtnome" name="txtnome" class="input-xlarge" required="" type="text" value="<? echo $nome; ?>" readonly />													</div>				</div>												<!-- Text matrícula-->				<div class="control-group">					<label class="control-label" for="matricula">Matrícula:</label>					<div class="controls">						<input id="matricula" name="matricula" class="input-medium" required="" type="text" value="<? echo $mat; ?>" readonly />						</div>				</div>								<!-- Text cpf-->				<div class="control-group">					<label class="control-label" for="cpf">C.P.F</label>					<div class="controls">						<input id="cpf" name="cpf" class="input-medium" required="" type="text" value="<? echo $cpf; ?>" readonly />											</div>				</div>													<!-- Text rg-->			<div class="control-group">				<label class="control-label" for="rg">R.G: </label>					<div class="controls">						<input id="rg" name="rg" class="input-medium" required="" type="text" value="<? echo $rg; ?>" readonly />											</div>				</div>												<!-- Select Basic Setor -->				<div class="control-group">					<label class="control-label" for="setor">Setor: </label>						<div class="controls">							<input id="setor" name="setor" class="input-medium" required="" type="text" value="<? echo $setor; ?>" readonly />						</div>				</div>								<!-- Select Basic Função -->				<div class="control-group">					<label class="control-label" for="funcao">Função : </label>						<div class="controls">							<input id="funcao" name="funcao" class="input-medium" required="" type="text" value="<? echo $funcao; ?>" readonly />						</div>					</div>									<!-- Select Basic usuário -->					<div class="control-group">						<label class="control-label" for="usuario">Usuário:</label>							<div class="controls">								<input id="usuario" name="usuario" class="input-medium" required="" type="text" value="<? echo $usuario; ?>" readonly />							</div>					</div>															<!-- Text input data -->					<div class="control-group">						<label class="control-label" for="data">Data:</label>							<div class="controls">								<input id="data" name="data" class="input-medium" required="" type="text" value="<? echo $data; ?>" readonly />    							</div>						</div>													<!-- Text input líder-->					<div class="control-group">						<label class="control-label" for="lider">Líder</label>							<div class="controls">								<input id="lider" name="lider" type="text" class="input-medium" required="" value="<? echo $lider; ?>" readonly />							</div>					</div>					<!-- Prepended text chamado-->					<div class="control-group">						<label class="control-label" for="chamado"></label>							<div class="controls">								<div class="input-prepend">								<span class="add-on">Nº Chamado</span>									<input id="chamado" name="chamado" class="input-small" type="text" value="<? echo $chamado; ?>" />								</div>									<p class="help-block">ex: 2222222</p>							</div>					</div>					<!-- Text input-->					<div class="control-group">						<label class="control-label" for="sistema">Sistema :</label>							<div class="controls">								<input id="sistema" name="sistema" class="input-large" required="" type="text" value="<? echo $sistema; ?>" readonly />							</div>					</div>																				<!-- Textarea motivo -->					<div class="control-group">						<label class="control-label" for="motivo">Motivo:</label>							<div class="controls">                     								<textarea id="motivo" name="motivo" value="<? echo $motivo; ?>" readonly></textarea>							</div>					</div>										<!-- Button -->						<div class="control-group">							<label class="control-label" for="enviar"></label>								<div class="controls">									<button type="submit" id="atualiza" name="atualiza" class="btn btn-default"><i class="icon-refresh"></i> Atualizar</button>								</div>						</div>																		</fieldset>			</form>				</div>				<div class="span3">				</div>			</div></div></body></html>

Estou usando o framework do twiterboostrap na versão 2.3.2

 

 

Link para o comentário
Compartilhar em outros sites

Na variavel $cpf; seria o cpf da pessoa que estaria armazenado no banco de dados.

quando eu carrego a página ele deveria apresentar o formulário preenchido com as informações do bando de dados .

Abaixo o arquivo que esta no conect.php


<?php$host = "localhost";$database = "usuario";$login_bd = "root";$senha_bd = "";$dsn = "mysql:host=localhost;database=usuario;charset=utf8";$opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');$pdo = new PDO($dsn, $login_bd, $senha_bd, $opcoes);$db = mysql_connect ($host, $login_bd, $senha_bd);$db = mysql_select_db($database) or die ("Erro ao selecionar a base de dados");$correcao = mysql_query("SET CHARACTER SET UTF8");?>
Link para o comentário
Compartilhar em outros sites

 

Na variavel $cpf; seria o cpf da pessoa que estaria armazenado no banco de dados.

quando eu carrego a página ele deveria apresentar o formulário preenchido com as informações do bando de dados .

 

Não encontrei a origem da variável $cpf verifique a origem desta variável este deve ser o motivo do problema. 

 

$cpf = $_POST["cpf"]; Esta variável está vindo de um formulário e o input tem valor NULL ou seja não tem valor nenhum, logo em seguida você faz uma consulta.

$sql = mysql_query("SELECT * FROM usuario_f85 WHERE cpf='$cpf'"); 

Amigo você está usando uma variável NULL, não tem valor por isso não funcionará.

 

Para funcionar use uma consulta com valor real ou seja que tenha valor,

$cpf = '649999988784656562' //exemplo ou  $cpf = $_GET['cpf'];$sql = mysql_query("SELECT * FROM usuario_f85 WHERE cpf='$cpf'"); 
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

A origem dela vem dessa outra página onde eu não consegui encontrar o problema.

<!DOCTYPE html><html lang="pt-BR"><head><title>.::Consulta::.</title><meta charset="UTF-8" /><link href="../bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css" /><link href="../bootstrap/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" /><link href="../css/estilo.css" rel="stylesheet" type="text/css" /></head><body>	<div class="contain">	<div class="row-fluid banner">		<div class="span12">		</div>	</div>		<br />		<div class="row">		<div class="span2">		</div>		<div class="span8 menu">				<div class="navbar">				<div class="navbar-inner">					<ul class="nav">						<li><a href="ficha.php"><i class="icon-plus"></i> Solicitação de usuário(Novo(a))</a></li>						<li><a href="consulta.php"><i class="icon-search"></i> Consulta / Status</a></li>						<li class="active"><a href="controle.php"><i class="icon-pencil"></i> Controle de Usuários</a></li>						<li><a href="logout.php"><i class="icon-remove"></i>Sair</a></li>					</ul>				</div>			</div>		</div>		<div class="span2">		</div>	</div>		<div class="row-fluid">		<div class="span12">			<table class="table table-bordered tabela-controll">			 				<tr>				<th>Nome</th>				<th>Matrícula</th>				<th>C.P.F</th>				<th>R.G</th>				<th>Setor</th>				<th>Função</th>				<th>Usuário</th>				<th>Data</th>				<th>Líder</th>				<th>Chamado</th>				<th>Sistema</th>				<th>Motivo</th>				<th><i class="icon-info-sign"></i> Status</th>				<th><i class="icon-pencil"></i>Editar</th>				</tr>						<?php			require_once("conect.php");						$hist = mysql_query("Select * from usuario_f85");			while ($linha = mysql_fetch_array($hist)) {				$nome = "{$linha['nome']}";				$matricula = "{$linha['matricula']}";				$cpf = "{$linha['cpf']}";				$rg = "{$linha['rg']}";				$setor = "{$linha['setor']}";				$funcao = "{$linha['funcao']}";				$usuario = "{$linha['usuario']}";				$data = "{$linha['data']}";				$lider = "{$linha['lider']}";				$chamado = "{$linha['chamado']}";				$sistema = "{$linha['sistema']}";				$motivo = "{$linha['motivo']}";				$status = "{$linha['status']}";		?>									<tr class="info">			<td><? echo $nome; ?></td>			<td><? echo $matricula; ?></td>			<td><? echo $cpf; ?></td>			<td><? echo $rg; ?></td>			<td><? echo $setor; ?></td>			<td><? echo $funcao; ?></td>			<td><? echo $usuario; ?></td>			<td><? echo $data; ?></td>			<td><? echo $lider; ?></td>			<td><? echo $chamado ?></td>			<td><? echo $sistema; ?></td>			<td><? echo $motivo; ?></td>			<td><? echo $status; ?></td>			<td><a href="ficha_editar.php?cpf=<? echo $cpf; ?>"><input type="button" id="editar" name="editar" value="Editar" class="btn btn-inverse"></a></td>			</tr>			<?			}			?>			</table>		</div>	</div></div></body></html>
Link para o comentário
Compartilhar em outros sites

OK, agora tem mais problemas amigo, o que você está tentando fazer é pegar vários CPF, por isso usou while quando você fecha a { } o que está fora não consegui pegar o que está entre as chaves, ai tem um problemÃO :wacko:  deixo essa dica para ver se você consegui resolver WHILE{$dados = 1, $dados = 2} e quem tiver fora da chave só encontra o $dados = 1 ou = 0.  

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

Olá,

 

Se está aparecendo "null" no resultado, é porque o campo da tabela na qual está tentando recuperar  está nulo. ou seja, possui um valor, mas nulo.

 

Sobre seu código, em tese não tem nada de errado.. mas eu faria da seguinte forma:

<div class="row-fluid">		<div class="span12">			<table class="table table-bordered tabela-controll">				<tr>				   <th>Nome</th>				   <th>Matrícula</th>				   <th>C.P.F</th>				   <th>R.G</th>				   <th>Setor</th>				   <th>Função</th>				   <th>Usuário</th>				   <th>Data</th>				   <th>Líder</th>				   <th>Chamado</th>				   <th>Sistema</th>				   <th>Motivo</th>				   <th><i class="icon-info-sign"></i> Status</th>				   <th><i class="icon-pencil"></i>Editar</th>				</tr>						<?php			require_once("conect.php");						$hist = mysql_query("Select * from usuario_f85");			while ($linha = mysql_fetch_object($hist)) :					echo"			    <tr class='info'>			      <td> $linha->nome</td>			      <td> $linha->matricula;</td>			      <td> $linha->cpf</td>			      <td> $linha->rg</td>			      <td> $linha->setor</td>			      <td> $linha->funcao</td>			      <td> $linha->usuario</td>			      <td> $linha->data</td>			      <td> $linha->lider</td>			      <td> $linha->chamado</td>			      <td> $linha->sistema</td>			      <td>$linha->motivo</td>			      <td>$linha->status</td>			      <td><a href='ficha_editar.php?cpf=$linha->cpf'><input type='button' id='editar' name='editar' value='Editar' class='btn btn-inverse'></a></td>			   </tr>";			endwhile;			?>			</table>		</div>	</div>

Melhor você tratar os dados como objetos(fetch_object()) do que array(fetch_array()). também você economiza em linhas.

 

Obs: atualmente o mysql está obsoleto..  melhor você utilizar o MySQLi

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...