Jump to content

Recommended Posts

Posted

Boa tarde,

estou com um problema de inserção de dados na Base de Dados,

eu no meu site em PHP tenho uma opção onde insiro dados de um produto, e na Base de Dados tenho uma Tabela só com tipos de Produtos com 2 campos, 1 com "ID_tipo" e outro com "tipo_produto" e nessa opção que tenho na Web tenho uma opção para inserir produtos e tenho uma opção em combobox que mostra todos os tipo de produto que está na tabela "tipo_produto", o meu problema é como gravo o tipo de produto na tabela de produto? porque na tabela produto ele grava é o codigo do tipo de produto e não o nome do tipo de produto.

Posted

Vou tentar explicar melhor tenho uma tabela produtos onde tem o produto_id, id_tipo, etc... , e tenho outra tabela onde tenho tipos de produtos onde tem id_tipo e descrição do tipo do produto.

e eu no site tenho uma página que insere os produtos na base de dados na tabela produtos, só que o tipo de produto vais buscar á tabela tipo produto e não vais buscar o  código e sim a descrição. e o problema é ao inserir na tabela produtos quero que elem grave o tipo produto só que em vez de gravar a descrição quero que grave o código desse tipo de produto.

Por exemplo na tabela tipo de produto tenho o seguinte no id_ tipo é 1 e no tipo_produto é HP, no site quando vai mostrar para o utilizador o select , vai mostrar o tipo_produto  e não o id_tipo mas na tabela produtos ao gravar tem que gravar o id_tipo como faço isso? ele tem que buscar o código do tipo de produto á tabela tipo de produto e gravar na tabela produto.

Posted

Em princípio não precisas de mudar muita coisa. Quando fazes o select (em SQL) para mostrar o tipo_produto (provavelmente numa <option> num form de HTML), estás a fazer um select à tabela de tipos de produtos, pelo que podes também ir buscar o id_tipo e colocá-lo como value dessa option.

Assim, o teu script php que processa essa form vai receber diretamente o id_tipo do tipo de produto seleccionado.

Não respondo a dúvidas por mensagem.

Posted

Mas o que queres guardar pelo que percebi é o código id_tipo, correcto?

E tens o select com as options, certo?

Repara que se tiveres no value da option o código id_tipo e quando fazes $_POST do que tiver no name do select é o código id_tipo que estás a passar para a variável. Basta fazer o insert como fazes com os outros campos.

No exemplo que tinha dado no outro post que o select tem como name="tipo_produto" se fizer, por exemplo:

$id_tipo = $_POST['tipo_produto'];
$query   = "INSERT INTO tabela_produto (id_tipo) VALUES ('$id_tipo') "; //query incompleta só com o campo necessário só para ilustrar o exemplo
mysql_query($query);

Já estás a fazer o insert do código id_tipo.

A ideia é onde tens o select com as options fazes a query à tabela secundária para colocares no value da option o código e dentro da option a descrição.

A seguir, quando fazes o insert, visto ser chave estrangeira pelo que percebi, fazes o insert à tabela principal onde o campo id_tipo vai receber o valor (devido ao que está no value da option) do select, neste caso da variável $id_tipo.

echo ($knowledge != $sharing) ? "Serves no purpose!" : "Thank you for your help. It was very precious.";

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.