Uso de TAGS em postagens

19/02/2015

0

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?
Carlos Magno

Carlos Magno

Responder

Posts

19/02/2015

Marisiana Battistella

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.
Responder

19/02/2015

Carlos Magno

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.
Responder

19/02/2015

Carlos Magno

Aqui esta o código:

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!
Responder

20/02/2015

Marisiana Battistella

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
Responder

20/02/2015

Carlos Magno

Eu percebi esse meu erro após ter colocado aqui. Fiz a correção mas ainda assim fica apresentando um erro no foreach.
Responder

20/02/2015

Marisiana Battistella

Qual é o erro que está ocorrendo?

Como você definiu a estrutura das tabelas no banco de dados?
Existe um relacionamento muitos para muitos?
Responder

20/02/2015

Carlos Magno

O erro continua sendo esse:
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.
Responder

22/02/2015

Marisiana Battistella

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...
Responder

23/02/2015

Carlos Magno

Vou corrigir isso e depois retorno com alguma posição.
Responder

23/02/2015

Marisiana Battistella

Ok.. aguardo!
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar