Uso de TAGS em postagens
Ola pessoal, venho pedir ajuda num probleminha que esbarrei.
Tenho uma tabela para cadastro de tags e uma outra para o cadastro das postagens.
No formulário de cadastro das postagens recupero as tags e seus ID's com checkbox. Até ae tudo bem. O problema esta em montar o INSERT de modo que recupere e insira os valores selecionados na tabela das postagens.
Nos teste que realizei da erro como se a variável estivesse vazia.
Como resolver isso?
Tenho uma tabela para cadastro de tags e uma outra para o cadastro das postagens.
No formulário de cadastro das postagens recupero as tags e seus ID's com checkbox. Até ae tudo bem. O problema esta em montar o INSERT de modo que recupere e insira os valores selecionados na tabela das postagens.
Nos teste que realizei da erro como se a variável estivesse vazia.
Como resolver isso?
Carlos Magno
Curtidas 0
Respostas
Marisiana Battistella
19/02/2015
Logicamente você tem que buscar o código da tag e atribuir em uma variável e, em seguida, passar essa variável como parâmetro no INSERT da postagem.
Se puder postar os código que estás executando ou o erro q está ocorrendo fica mais fácil de ajudá-lo.
Se puder postar os código que estás executando ou o erro q está ocorrendo fica mais fácil de ajudá-lo.
GOSTEI 0
Carlos Magno
19/02/2015
eu ja tentei da forma simples e sempre captura somente um valor como se eu tivesse selecionado apenas um checkbox mesmo que eu selecione mais de um. No momento estou no trabalho mas a noite eu posto o código do erro.
GOSTEI 0
Carlos Magno
19/02/2015
Aqui esta o código:
Primeiro resgato as tags que estão cadastradas:
Listo elas no formulário:
Depois tento resgatar os valores selecionados para inserir na tabela de postagens:
Tento inserir com este INSERT:
Mas me retorna esse erro:
Uma luz por favor!
Primeiro resgato as tags que estão cadastradas:
SELECT * FROM tags ORDER BY tg_nome ASC
Listo elas no formulário:
<?php do { ?> <span><input type="checkbox" name="ma_tag" value="<?php echo $row_tgs['tg_id']; ?>" /><?php echo $row_tgs['tg_nome']; ?></span> <?php } while ($row_tgs = mysql_fetch_assoc($tgs)); ?>
Depois tento resgatar os valores selecionados para inserir na tabela de postagens:
foreach($_POST['ma_tag'] as $taggs);
Tento inserir com este INSERT:
INSERT INTO noticia (ma_data, ma_autor, ma_edito, ma_setor, ma_subsetor, ma_cid, ma_chama, ma_titulo, ma_sub, ma_texto, ma_msgfoto, ma_credfoto, ma_foto, ma_pod, '$taggs', ma_sit) VALUES (NOW(), $autor, $edito, $setor, $subsetor, $cidade, $chamada, $titulo, $subtitulo, $texto, $msgfoto, $credfoto, $foto, $pod, $tags, $sit
Mas me retorna esse erro:
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\scp\scpcgc\notcad.php on line 42 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 ''', ma_sit) VALUES (NOW(), 'Fulano', 3, '1', '2', 8, 'FESTAS JUNINAS!', 'F' at line 1
Uma luz por favor!
GOSTEI 0
Marisiana Battistella
19/02/2015
O erro deve estar em '$taggs' , ali você tem q informar o nome do campo que vai receber o código da tag
INSERT INTO noticia (ma_data, ma_autor, ma_edito, ma_setor, ma_subsetor, ma_cid, ma_chama, ma_titulo, ma_sub, ma_texto, ma_msgfoto, ma_credfoto, ma_foto, ma_pod, '$taggs', ma_sit) VALUES (NOW(), $autor, $edito, $setor, $subsetor, $cidade, $chamada, $titulo, $subtitulo, $texto, $msgfoto, $credfoto, $foto, $pod, $tags, $sit
GOSTEI 0
Carlos Magno
19/02/2015
Eu percebi esse meu erro após ter colocado aqui. Fiz a correção mas ainda assim fica apresentando um erro no foreach.
GOSTEI 0
Marisiana Battistella
19/02/2015
Qual é o erro que está ocorrendo?
Como você definiu a estrutura das tabelas no banco de dados?
Existe um relacionamento muitos para muitos?
Como você definiu a estrutura das tabelas no banco de dados?
Existe um relacionamento muitos para muitos?
GOSTEI 0
Carlos Magno
19/02/2015
O erro continua sendo esse:
Quanto as tabelas:
Uma para as TAGS com os campos:
tg_id int(10) NOT NULL auto_increment,
tg_nome char(40) NOT NULL,
PRIMARY KEY (`tg_id`)
e outra para as postagens onde tem um campo que vai receber os valores selecionados nos checkbox:
ma_tag char(10) default NULL,
Não criei nenhuma chave estrangeira.
Espero que com isso possa resolver.
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\scp\scpcgc\notcad.php on line 42
Quanto as tabelas:
Uma para as TAGS com os campos:
tg_id int(10) NOT NULL auto_increment,
tg_nome char(40) NOT NULL,
PRIMARY KEY (`tg_id`)
e outra para as postagens onde tem um campo que vai receber os valores selecionados nos checkbox:
ma_tag char(10) default NULL,
Não criei nenhuma chave estrangeira.
Espero que com isso possa resolver.
GOSTEI 0
Marisiana Battistella
19/02/2015
Se você tem um cadastro das tags e você vai cadastrar postagens e vincular tags a elas, como você pretende tratar isso sem criar o vinculo entre os dados?
Isso deixa tua modelagem desnormalizada...
Isso deixa tua modelagem desnormalizada...
GOSTEI 0
Carlos Magno
19/02/2015
Vou corrigir isso e depois retorno com alguma posição.
GOSTEI 0
Marisiana Battistella
19/02/2015
Ok.. aguardo!
GOSTEI 0