mrbomber 0 Denunciar post Postado Março 19, 2009 galera... to com um problemao aqui: preciso q a noticia tenha mais de uma categoria. as categorias assim como as noticias sao dinamicas meu bd: (ex) table cat: idcat , nome_cat, descricao table news id, idcat, noticia como fazer este relacionamento, outra tabela? obs: php e mysql Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 19, 2009 Outra tabela, é melhor realmente.. se for jogando como string, separando por , ou qualquer coisa do tipo, no único campo de categoria, vai ficar muito gambiarra. table newsCat idnews idcat e ai basta cadastrar, vários idcat, para o mesmo idnews. Compartilhar este post Link para o post Compartilhar em outros sites
mrbomber 0 Denunciar post Postado Março 19, 2009 Valeu William foi uma verdadeira luz em meu caminho... hehehehehehe imagina ae... depois de finalizar o projeto (complexo pra caramba) o cliente fala que quer isso... tu fica perdido..... hehehe Compartilhar este post Link para o post Compartilhar em outros sites
RTDN CONSULTORIA 0 Denunciar post Postado Março 19, 2009 Amigo, realmente use outra tabela como o wiliam falou mais voce tem dua formas: ex: imagine que existem categorias 1 - cat 1 2 - cat 2 3 - cat 3 voce pode ligar isso por linha Ex: na tabela relacionamento voce atribui o produto a categoria: Prod / Cat 1 1,2 Ou pode ligar por linha Prod / Cat 1 1 1 2 Entendeu? abraços! Compartilhar este post Link para o post Compartilhar em outros sites
mrbomber 0 Denunciar post Postado Março 21, 2009 Willian e RTDN, muito obrigado fiz o cadastro com outra tabela , usando checkbox. ficou + ou - assim: table cat: idcat , nome_cat, descricao 1 cat1 legal 2 cat2 bom table news id, noticia 1 news1 2 news2 3 news3 table cat_news id_news id_cat 1 1 1 2 2 1 inseri no banco beleza.... como é um sistema de news, preciso de uma pagina para editar a noticia como fazer com que me liste todos os checkbox: 1- pegando os dados das categorias q sao dinamicas (consigo) 2 - marcar os checkbox q estao declarados na tabela cat_news tentei colcoar um while dentro do outro e nao prestou... alguem ajuda? Compartilhar este post Link para o post Compartilhar em outros sites
Maykonn 6 Denunciar post Postado Março 21, 2009 Então no seu sistema, uma news pode ter várias categorias relacionadas? Porque se fosse só uma categoria para cada new então você poderia fazer um <select>while(){<option>while listando todas as categorias existentes, e a categoria dessa new estaria como checked</option>}</select> Ficaria mais fácil! Mas pelo que entendi uma news pode mesmo ter várias categorias! É isso? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 21, 2009 Trabalhar com checkboxs, dá essa dorzinha de cabeça pra trazer eles marcados.. mas vamos lá: http://forum.imasters.com.br/index.php...t&p=1245799 Se não entender, grita ae. Compartilhar este post Link para o post Compartilhar em outros sites
mrbomber 0 Denunciar post Postado Março 23, 2009 deu certo assim: <? $listagem = "SELECT * FROM noticias_categorias"; $query = mysql_query($listagem); $sqlxx = ("SELECT id_cat FROM noticias_cats WHERE id_news = $_GET[id] "); $consulta2 = mysql_query($sqlxx); if(mysql_num_rows($consulta2)!=0) { while($dadosRel = mysql_fetch_assoc($consulta2)) { $vetorFav[] = $dadosRel['id_cat']; } } while ($linha=mysql_fetch_array($query)){ $id = $linha["id_cat"]; $projeto = $linha["nome"]; if( in_array( $linha['id_cat'], $vetorFav ) ) $checked = 'checked="checked" '; else $checked = ''; echo '<input type="checkbox" value="'.$id.'" name="ide[]" '.$checked.'/>'.$projeto.'<br />'; } ?> Agora vamu ver se consigo atualizar o bd ... qq coisa posto aki Valeu William Compartilhar este post Link para o post Compartilhar em outros sites
mrbomber 0 Denunciar post Postado Março 23, 2009 ai esta... nao consegui... e de cara vi um problema..... como atualizar a tabela noticias_cats.... teria q ou deletar o registro ou inserir o registro... tentei assim e nao funcionou: $Checkboxes = $_POST["ide"]; foreach($Checkboxes as $ide){ // Aqui você troca o echo pela operação que você quer. $sqla = mysql_query("UPDATE noticias_cats id_cat='$ide' WHERE id_news='$id'"); $sqlx = mysql_query($sqlx); } Compartilhar este post Link para o post Compartilhar em outros sites
Maykonn 6 Denunciar post Postado Março 23, 2009 É pq seu UPDATE está errado. Hehe. Compartilhar este post Link para o post Compartilhar em outros sites
mrbomber 0 Denunciar post Postado Março 23, 2009 entao ... esse é o problema... nao seir aupdate... ja que eu atualizo a edicao da noticia toda com este script... e essa ae é a penas a parte do checkbox por ex: table noticias_cats id_news id_cat 1 2 1 3 2 1 so que ai agora eu quero inserir a categoria 4 para a noticia 1 e excluir a categoria 2..... Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 23, 2009 Então.. você conseguiu trazer todos os check marcados ? a única solução que encontrei para isso, foi realmente DELETAR a tabela inteira.. referente àquele registro.. e depois inserir de novo, oq veio do form. Ai você faria primeiro o DELETE, tipo: DELETE FROM `noticias_cats` WHERE `id_news` = '{$id}' E depois você insere de novo.. fazer todo o processo com o UPDATE, é complicado demais nesse caso.. só consegui resolver com o delete, e depois insert mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
mrbomber 0 Denunciar post Postado Março 23, 2009 é .... tinha pensado em fazer um delete e um insert de novo... agora ficou bacana.... vou mecher aqui e ver se nao da pau Compartilhar este post Link para o post Compartilhar em outros sites
mrbomber 0 Denunciar post Postado Março 23, 2009 valeu william.... deu tudo certo pra listar as noticias uso um INNER JOIN... ficou muito bacana... muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites