Ir para conteúdo

POWERED BY:

Arquivado

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

vonzuben

Select problema

Recommended Posts

No form está aparecendo o nome, sobrenome e email, pois corretora não.

No banco de dados está tudo ok

 

<div id="form-perfil">
			<form action="http://www.meusite.com.br/perfil" method="post" >
  				<label>Nome:</label><br />
  				<input type="text" name="nome" id="nome" size="35" value="<?php echo $nome; ?>"/><br />
  				<label>Sobrenome:</label><br />
  				<input type="text" name="sobrenome" id="sobrenome" size="35" value="<?php echo $sobrenome; ?>"/><br />
  				<label>E-mail:</label><br />
  				<input type="text" name="email" id="email" size="35" value="<?php echo $email; ?>"/><br />
     				<label>Nova Senha:</label><br />
  				<input type="password" name="senha" id="senha" size="20" value="<?php echo $senha; ?>"/><br />
     				<label>Em qual corretora você opera?</label><br />
  				<input type="text" name="corretora" id="corretora" size="35" value="<?php echo $corretora; ?>"/><br /><br />
     				<button type="submit">Atualizar</button>
			</form>
               <?php
			require_once("config/conexao.php");
			$sql = mysql_query("SELECT * FROM usuarios");
			while($linha = mysql_fetch_array($sql)){
			$nome = $linha['nome'];
			$sobrenome = $linha['sobrenome'];
			$email = $linha['email'];
			$corretora = $linha['corretora'];
			}
			?>
           </div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa consulta não deveria estar antes do form ??

 

E dentro desse while, as variaveis irão armazenar sempre o último registro. E provavelmente ele não tem um corretor setado....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendir direito mas troca o codigo que você postou aqui no forum por esse que eu fiz as mudanção foi feita na hora do while para mostra os dados.

 

se caso era isso que você queria enfim. veja se é, boa sorte!

<div id="form-perfil">
                               <form action="http://www.meusite.com.br/perfil" method="post" >
                                       <label>Nome:</label><br />
                                       <input type="text" name="nome" id="nome" size="35" value="<?php echo $nome; ?>"/><br />
                                       <label>Sobrenome:</label><br />
                                       <input type="text" name="sobrenome" id="sobrenome" size="35" value="<?php echo $sobrenome; ?>"/><br />
                                       <label>E-mail:</label><br />
                                       <input type="text" name="email" id="email" size="35" value="<?php echo $email; ?>"/><br />
                               <label>Nova Senha:</label><br />
                                       <input type="password" name="senha" id="senha" size="20" value="<?php echo $senha; ?>"/><br />
                               <label>Em qual corretora você opera?</label><br />
                                       <input type="text" name="corretora" id="corretora" size="35" value="<?php echo $corretora; ?>"/><br /><br />
                               <button type="submit">Atualizar</button>
                               </form>
               <?php
                               require_once("config/conexao.php");
                               $sql = mysql_query("SELECT * FROM usuarios");
                               while($linha = mysql_fetch_array($sql)){
?>


<?php print $linha['nome']; ?>
<?php print $linha['sobrenome']; ?>
<?php print $linha['email']; ?>
<?php print $linha['corretora']; ?>

<?php
}
                               ?>
           </div>


Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa maneira eu sei fazer, pois o que eu quero e fazer os dados aparecer dentro das inputs, assim o usuário atualiza seus dados na input.

 

É uma pagina do perfil com os dados do usuário com o botão atualizar.

O usuário faz o login, entra no perfil e ali está seus dados preenchido no formulário, caso ele queira alterar só mudar e clicar atualizar que faz o update.

 

vou ter dar select no id do usuário

 

estava vendo que nenhum campo do input está preenchendo, pois apareceu nos 3 primeiros por causa do session

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer da seguinte forma:

No arquivo perfil.php, antes de exibir o formulário, você cria um select

$ver = mysql_query('SELECT * FROM usuarios WHERE usuario_id = ".$_session['usuario_id']."');
     $linha = mysql_fetch_array($ver);

 

Após isso, você usa nos inputs parecido com o que você fez (

$linha['nome']

).

Mas no action do formulário, você envia para um outro arquivo: o atualiza.php

 

Assim:

<form name='atualiza' action='atualiza.php' method='post'>

 

Agora, você cria o arquivo atualiza.php e nele você faz o update, chamando os dados por

$nome = $_POST['nome']

Após fazer o update você pode criar um alerta e JS e redirecionar para voltar a página anterior.

if($update){
      echo"
       <script>
        alert('cadastro atualizado com sucesso');
        location.href='perfil.php';
       </script>
      ";
     }else{
      <script>
        alert('Erro ao atualizar o cadastro');
        location.href='perfil.php';
       </script>
     }

Compartilhar este post


Link para o post
Compartilhar em outros sites

não esta conseguindo executar

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

 

resolvi pois fiz assim

 

acho que o while não é necessário, pois estou apenas buscando um

 

<?php
			require_once("config/conexao.php");
			$sql = mysql_query("SELECT * FROM usuarios WHERE usuario_id = '$usuario_id'");
			while($linha = mysql_fetch_array($sql)){
               ?>
			<form action="http://www.meusite.com.br/perfil" method="post" >
  				<label>Nome:</label><br />
  				<input type="text" name="nome" id="nome" size="35" value="<?php echo $linha['nome']; ?>"/><br />
  				<label>Sobrenome:</label><br />
  				<input type="text" name="sobrenome" id="sobrenome" size="35" value="<?php echo $linha['sobrenome']; ?>"/><br />
  				<label>E-mail:</label><br />
  				<input type="text" name="email" id="email" size="35" value="<?php echo $linha['email']; ?>"/><br />
     				<label>Nova Senha:</label><br />
  				<input type="password" name="senha" id="senha" size="20" value="<?php echo $linha['senha']; ?>"/><br />
     				<label>Em qual corretora você opera?</label><br />
  				<input type="text" name="corretora" id="corretora" size="35" value="<?php echo $linha['corretora']; ?>"/><br /><br />
     				<button type="submit">Atualizar</button>
			</form>
               <?php
			}
			?>

 

nossa #@?$%~ trabalho q eu fiz, pois só era colocar o usuario_id como tinha falado no post anterior rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá desculpa a demora a retorna o assunto agora sei o que você quer, um sistema de UPDATE de cadastro. vou digitar aqui não vou testar estou fazendo dessa forma porque eu estou treinando meu php =)

 

vamos lá

 

<?php
$id = $_SESSION['id'];
$sql = mysql_query("SELECT * FROM usuario WHERE id='$id' ");
while ($recuperar=mysql_fetch_array($sql)){
?>
<form method="post">

<input type="text" name="idade" value="<?php print $recuperar['idade']; ?>" />
<input type="submit" name="upload" value="Atualizar dados" />

</form>
<?php 
} 

if(isset($_POST['upload'])){

$idade = $_POST['idade'];

$sql = mysql_query("UPDATE usuario SET idade='$idade'");{
print 'Atualizado com sucesso.';
}
}
?>

 

Pronto com esse codigo o cliente faz a atualização dele sem precisar de niguem, basta você atualizar a suas necessidade.

 

até breve =)

 

esquecir de um detalhe abra a session no inicio página

<?php session_start(); ?>

 

Lembrando no inicio da página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vonzuben, o comando é ativo com você clica no botão Atualizar dados só é ativo quando o botão e clicado se atualizar mil vezes a página não vai contecer nada so repito apenas quando clicar no botão Atualizar dados

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 10/09/2012 at 09:41, VagnerMelo disse:

vonzuben, o comando é ativo com você clica no botão Atualizar dados só é ativo quando o botão e clicado se atualizar mil vezes a página não vai contecer nada so repito apenas quando clicar no botão Atualizar dados

 

Leia bem a pergunta:

 

você testou para ver se o campo idade muda no momento que você clicar em atualizar ?

ou ele também só atualiza quando dar refresh ou F5 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

vonzuben, ele atualiza no banco de dados assim que o cara cliente em atualiza mas ele mostra so pro cliente quando o cliente aperta F5, mas para isso você pode fazer um comando simples que seria dessa forma:

 

<?php
$id = $_SESSION['id'];
$sql = mysql_query("SELECT * FROM usuario WHERE id='$id' ");
while ($recuperar=mysql_fetch_array($sql)){
?>
<form method="post">

<input type="text" name="idade" value="<?php print $recuperar['idade']; ?>" />
<input type="submit" name="upload" value="Atualizar dados" />

</form>
<?php 
} 

if(isset($_POST['upload'])){

$idade = $_POST['idade'];

$sql = mysql_query("UPDATE usuario SET idade='$idade'");{
print 'Atualizado com sucesso. <meta http-equiv="refresh" content="1;URL=" />
';
}
}
?>

 

assim a atualização vai ser automatica na hora que o cliente aperta em atualizar. ele faz um refresh da pagina.

 

se foi isso que você quis dizer, testa ai pq aqui eu não tenho como realizar teste em nada =s

Compartilhar este post


Link para o post
Compartilhar em outros sites

então isso ai já pensei, pois tem um jeito sim que atualiza sem refresh e sem javascript

estou num sistema de um site aqui e ele faz do modo que eu queria, só que ele joga para outro pagina a mensagem de atualizado com sucesso e na hora aparece atualizado no campo input.

 

na pagina de cadastro joguei o SELECT E UPDATE e na outra pagina de mensagem de atualizado de sucesso joguei novamente o SELECT para ele pegar já atualizado do BD e mesmo assim o input não atualiza na hora.

 

  Em 10/09/2012 at 13:50, VagnerMelo disse:

vonzuben, ele atualiza no banco de dados assim que o cara cliente em atualiza mas ele mostra so pro cliente quando o cliente aperta F5, mas para isso você pode fazer um comando simples que seria dessa forma:

 

<?php
$id = $_SESSION['id'];
$sql = mysql_query("SELECT * FROM usuario WHERE id='$id' ");
while ($recuperar=mysql_fetch_array($sql)){
?>
<form method="post">

<input type="text" name="idade" value="<?php print $recuperar['idade']; ?>" />
<input type="submit" name="upload" value="Atualizar dados" />

</form>
<?php 
} 

if(isset($_POST['upload'])){

$idade = $_POST['idade'];

$sql = mysql_query("UPDATE usuario SET idade='$idade'");{
print 'Atualizado com sucesso. <meta http-equiv="refresh" content="1;URL=" />
';
}
}
?>

 

assim a atualização vai ser automatica na hora que o cliente aperta em atualizar. ele faz um refresh da pagina.

 

se foi isso que você quis dizer, testa ai pq aqui eu não tenho como realizar teste em nada =s

 

Consegui !! Vivendo e aprendendo !

 

Sabia que tinha um jeito, pois fiz uma pagina como perfilatualizado

e embaixo do update fiz assim

if (sql){
   header("Location: http://www.meusite.com.br/perfil/perfil-atualizado");
}else{
   echo 'não atualizado';
}

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.