Ir para conteúdo
Fórum Script Brasil
  • 0

pegar variavel do while e inserir no banco


emanuel_pereira

Pergunta

olá pessoal estou quebrando minha cabeça e não estou conseguindo resolver esse problema:

eu tenho um while onde mostra todos os usuarios cadastrados, e ao lado de cada usuario tem um botão gravar onde

quero que quando eu clique nele ele salve o id do usuario em outra tabela ex:

1 joao botao_gravar

2 pedro botao_gravar

3 maria botao_gravar

o codigo que mostra o usuario na pagina é esse:

while($dadosUsu = mysql_fetch_assoc($result_dados_usu)){

$id_usu = $dadosUsu['id'];

$nome_usu = $dadosUsu['nome'];

echo $id_usu;

echo $nome_usu;

}

o codigo do insert é esse:

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

$sql = "INSERT INTO usuario2 (id) VALUES ('$id_usu') "; //acho que o erro ta aqui.

$result_usu = @mysql_query($sql) or die(mysql_error());

$resultado_usuario = @mysqli_query($result_usu);

}

mostra essa mensagem quando clico no botao gravar:

Incorrect integer value: '' for column 'id' at row 1

como resolvo esse problema?

Obrigado!!!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

raphael_suporte, eu verifiquei o insert como você me falou com o die($sql),

e ele só ta fazendo o insert do primeiro resultado do while, qualquer botão_gravar de qualquer

usuario que eu clicar ele só grava o id do 1º usuario do while que no caso é joao.

e por isso da o erro

dizendo que esse valor já existe no banco e ta duplicado!

Link para o comentário
Compartilhar em outros sites

  • 0

olá, desculpem mais é por que eu sou iniciante,

eu já tentei dar o insert dentro do while mais na hora da inserção ele só ta inserindo no banco

o id do primeiro usuario do while, que no caso é o joão, mesmo eu cliando no botão gravar de qualquer usuario da lista do while

ele só insere o id do primeiro, sera que tem alguém que resolva esse meu problema?

while($dadosUsu = mysql_fetch_assoc($result_dados_usu)){

$id_usu = $dadosUsu['id'];

$nome_usu = $dadosUsu['nome'];

echo $id_usu;

echo $nome_usu;

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

$sql = "INSERT INTO usuario2 (id) VALUES ('$id_usu') ";

$result_usu = @mysql_query($sql) or die(mysql_error());

$resultado_usuario = @mysqli_query($result_usu);

}

grato!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Emanuel vou te dar uma grande ajuda, pois já precisei de ajuda e sei que você deve ta precisando muito. Mais não pode acostumar não viu rsrsrs...

Fiz um passo a passo é so você mudar os campos já testei e ta funcionando direitinho ta enviando o id para outra tabela.

Primeiramente crie um banco de dados chamado teste, em seguida crie as seguinte tabelas:

CREATE TABLE aluno(

id_aluno int not null auto_increment,

nome varchar(150) not null,

idade int not null,

PRIMARY KEY(id_aluno)

);

CREATE TABLE livro(

id_livro int not null auto_increment,

descricao varchar(255),

id_aluno int not null,

PRIMARY KEY(id_livro)

);

ALTER TABLE `livro` ADD CONSTRAINT `fk_id_aluno` FOREIGN KEY ( `id_aluno` ) REFERENCES `aluno` ( `id_aluno` ) ;

Segundo passo crie a conexão com banco de dados:

conexao.php

<?php

$dbname="teste";

$usuario="root";

$password="";

$conexao = mysql_connect("localhost",$usuario,$password);

$banco=mysql_select_db($dbname,$conexao);

?>

agora crie o arquivo emanuel.php. Observação no lugar do <botton> eu coloquei um imagem para ser o botão.

<?php

require_once("conexao.php");

$sql = "SELECT * FROM aluno";

$resposta = mysql_query( $sql );

while ( $linha = mysql_fetch_array( $resposta )){

if (isset($linha) AND !empty($linha)){

?>

<div id="dados">

<p><?php echo $linha['nome']; ?> <a href=envia-id.php?id_aluno=<?php echo $linha['id_aluno]; ?>"><img src="bg-botao.jpg" border="0"/></a></p>

</div>

<?php

}

}

mysql_free_result( $resposta );

?>

E logo depois crie o arquivo envia-id.php que é o arquivo que irá receber o id pelo botão onde você clicou

<?php

require_once("conexao.php");

$id_aluno = $_GET['id_aluno'];

$sql = "INSERT INTO livro(id_livro,id_aluno)

VALUES('null','$id_aluno')";

$qry = mysql_query($sql, $conexao);

mysql_close($conexao);

header('Location: emanuel.php');

?>

Prontinho funcionando belezinha.

Editado por kethellen
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...