patricias 0 Denunciar post Postado Janeiro 25, 2006 Fabyo, conforme topico anterior... Meu banco, portal, tem as tabelas, noticias/imagem/setor/categoria/usuario (essa ultima não é de muita importancia). qual o objetivo? ter um sistema de noticia, onde eu possa cadastrar a noticia e dizer a que setor pertence, e qual sua categoria, ou seja, na pagina principal, terei os campos destaque (para um quadro maior) e os destaques menores, que vai ser uma tabela com 4 celulas...ok? No momento em que eu clicar em uma das noticias, eu vou cair na pagina do setor responsavel por essa noticia, fui clara? Fiz o banco, com as tabelas, fiz um form, porem, nao to conseguindo inserir os dados corretamente, a insercao vai somente para a tabela noticia, nao to sabendo como sair disso.... help-me please!! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif http://forum.imasters.com.br/public/style_emoticons/default/upset.gif :unsure: Compartilhar este post Link para o post Compartilhar em outros sites
martinusso 0 Denunciar post Postado Janeiro 25, 2006 posta o codigo aqui para verificarmos http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 bom pra começar ai no seu caso ja cabe uma tabela de junções e um FOREIGN KEY dai criaremos mais uma tabela chamada noticias_setores com id_noticia e id_setor noticias_setores id_noticia - id_setor - estrutura CREATE TABLE noticias_setores ( id_noticia int(11) unsigned NOT NULL, id_setor int(11) unsigned NOT NULL, PRIMARY KEY (id_noticia, id_setor) ) TYPE = innodb; os 2 ids chaves primarias que mais vai ter na tabela noticias? Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Bom, nas tabelas eu tenho os seguintes campos: Noticias not_id not_titulo not_conteudo not_data not_fonte not_status not_img_id not_setor_id not_cat_id not_usuario_id categoria cat_id cat_destaq cat_quad1 cat_quad2 cat_quad3 cat_quad4 imagem id imagem setor set_id set_adm set_ci set_edu set_espl set_fin set_gp set_gm set_ma set_obras set_plan set_ps set_saude set_tur usuarios id nome email senha data O meu formulario esta assim: Citar <?php require_once('../Connections/ConnNoticias.php'); ?> <?php function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } $editFormAction = $HTTP_SERVER_VARS['PHP_SELF']; if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING']; } if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO noticias (not_titulo, not_conteudo, not_data, not_img_id, not_cat_id, not_set_id) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($HTTP_POST_VARS['not_titulo'], "text"), GetSQLValueString($HTTP_POST_VARS['not_conteudo'], "text"), GetSQLValueString($HTTP_POST_VARS['not_data'], "date"), GetSQLValueString($HTTP_POST_VARS['not_img_id'], "int"), GetSQLValueString($HTTP_POST_VARS['not_cat_id'], "int"), GetSQLValueString($HTTP_POST_VARS['not_set_id'], "int")); mysql_select_db($database_ConnNoticias, $ConnNoticias); $Result1 = mysql_query($insertSQL, $ConnNoticias) or die(mysql_error()); $insertGoTo = "sucesso.php"; if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } ?> <form method="post" name="form1" action="<?php echo $editFormAction; ?>"> <table border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td><table align="center" cellpadding="1"> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Título:</strong></font></td> <td> <input type="text" name="not_titulo" value="" size="32"></td> </tr> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Conteúdo:</strong></font></td> <td rowspan="2"> <textarea name="not_conteudo" cols="32" rows="10"></textarea></td> </tr> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td> </tr> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Data:</strong></font></td> <td> <input type="text" name="not_data" value="<?php echo date('d/m/Y'); ?>" size="32"></td> </tr> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Image:</strong></font></td> <td> <input type="file" name="not_img_id" value="" size="32"></td> </tr> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Categoria</strong></font></td> <td> <select name="not_cat_id" > <option value="cat_destaq">Destaque</option> <option value="cat_quad1">quadro1</option> <option value="cat_quad2">quadro2</option> <option value="cat_quad3">quadro3</option> </select></td> </tr> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Setor:</strong></font></td> <td> <select name="not_id_setor" > <option value="set_adm">Administração</option> <option value="set_ci">Controle_Interno</option> <option value="set_edu">Educação</option> <option value="set_espl">Esporte_Lazer</option> <option value="set_fin">Finanças</option> <option value="set_gp">Gabinete_do_Prefeito</option> <option value="set_gm">Guarda_Municipal</option> <option value="set_ma">Meio_Ambiente</option> <option value="set_obras">Obras</option> <option value="set_plan">Planejamento</option> <option value="set_ps">Promoção_Social</option> <option value="set_saude">Saúde</option> <option value="set_tur">Turísmo </option> </select></td> </tr> <tr valign="baseline" bgcolor="#FFFFFF"> <td align="right" nowrap><font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></td> <td> <input name="submit" type="submit" value="Inserir registro"></td> </tr> </table></td> </tr> </table> <input type="hidden" name="MM_insert" value="form1"> </form> <p> </p> :rolleyes: http://forum.imasters.com.br/public/style_emoticons/default/upset.gif :unsure: :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 da uma olhada como ta ficando e eu apontei umas duvidas e uns erros noticias id_noticia titulo conteudo data fonte status fk_imagem fk_categoria fk_usuario categoria id_categoria destaque erro: cat_quad1 cat_quad2 cat_quad3 cat_quad4 imagem id_imagem imagem setores id_setor adm ? ci ? edu ? espl ? fin ? gp ? gm ? ma ? obras plan ? ps ? saude ? tur ? como eu falei no outro topico nao precisa abreviar tanto só quem faz entende esse banco exemplo o que é tur? turma, turno ? entendeu ?, nao fica claro Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Citar da uma olhada como ta ficando e eu apontei umas duvidas e uns erros noticias id_noticia titulo conteudo data fonte status fk_imagem fk_categoria fk_usuario categoria id_categoria destaque Aqui entao posso colocar oq? ou não preciso de outra categoria? seria quadro1 / quadro2 / quadro3 e quadro4. erro: cat_quad1 cat_quad2 cat_quad3 cat_quad4 OK imagem id_imagem imagem correções em vermelho setores id_setor adm ? Administração ci ? Controle Interno edu ? Educação espl ? Esporte e Lazer fin ? Finanças gp ? Gabinete do Prefeito gm ? Guarda Municipal ma ? Meio Ambiente obras Obras plan ? Planejamento ps ? Promoção Social saude ? Saúde tur ? Turismo Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 sobre a parte em vermelho o que seria esses quadros no sistema? porque um banco bem modelado você nao pode limitar tipo quadro1, quadro2 etc... fazendo assim você ta errando, só me explica o que seria esses quadros e sobre o setor entao é setores id_setor setor o resto é tudo conteudo do setor, dai o combo do seu formulario vai ser populado por ele Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Fabyo disse: sobre a parte em vermelho o que seria esses quadros no sistema?porque um banco bem modelado você nao pode limitar tipo quadro1, quadro2 etc... fazendo assim você ta errando, só me explica o que seria esses quadrose sobre o setor entao ésetoresid_setorsetoro resto é tudo conteudo do setor, dai o combo do seu formulario vai ser populado por eleOs quadros, ou outro nome que possamos dar, seriam os destaques menores, tipo, assim: Citar <link href="/classic.css" rel="stylesheet" type="text/css"> <table width="480" border="0" cellpadding="0" cellspacing="0" class="tab1"> <tr> <td align="center" valign="top" class="tab1"> <table width="460" border="0" cellpadding="0" cellspacing="0" class="tab1"> <tr class="tab1"> <td colspan="2" class="tab1"><img src="/paginas/imagens/foto_principal.jpg" width="215" height="161" border="0"></td> <td colspan="2" class="tab1"> <table width="215" cellspacing="0" cellpadding="0"> <tr> <th class="tab1"> </th> </tr> <tr> <td class="tab1"><a href="http://">Pensando no desenvolvimento de nossa cidade a prefeitura com muito esforço, vem realizando obras de recuperação e conservação na estrada, atendendo as necessidades e reivindicações da população paratiense e incrementando o turismo.</a></td> </tr> <tr> <td>data: agosto/2005</td> </tr> </table> </td> </tr> <tr class="tab1odd"> <td width="115" class="tab1odd"><img src="/paginas/imagens/foto_1.jpg" width="110" height="82" border="0"></td> <td width="115" class="tab1odd"> <p>Retirada das barracas do estacionamento<br> <a href="http://">leia mais...</a></p> </td> <td width="115" class="tab1odd"><img src="/paginas/imagens/foto_2.jpg" width="110" height="82" border="0"></td> <td width="115" class="tab1odd">Lançamento da Pedra Fundamental do Jardim Botânico de <br> <a href="http://">leia mais...</a></td> </tr> <tr class="tab1"> <td width="115" class="tab1"><img src="/paginas/imagens/foto_3.jpg" width="110" height="82" border="0"></td> <td width="115" class="tab1"> Mais um compro-misso de campanha da prefeitura! <br> <a href="http://">leia mais...</a></td> <td width="115" class="tab1"><img src="/paginas/imagens/foto_4.jpg" width="110" height="82" border="0"></td> <td width="115" class="tab1">Saúde: Fachada Do Hospital, PSF e Centro Cirúrgico <br> <a href="http://">leia mais...</a></td> </tr> <tr class="tab1odd"> <td colspan="4" class="tab1odd"> <ul> <li>Mais Notícias</li> </ul></td> </tr> </table> </tr></table>a celula maior da tabela seria chamada de Destaque e as menores um outro nome qualquer, capice? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 entao mas se é destaque porque ta na tabela categoria? Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 'Fabyo' disse: entao mas se é destaque porque ta na tabela categoria?Foi o nome que me foi passado, na verdade me entregaram a criança e disseram, se vira.... cuide!! rs rs e cá estou...apenas trocando fraldas... :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 beleza, mas entao vamos dar uma faxina geral e alem de trocar as fraudas da um banho nos bebes = ) ,ta entendendo ate aqui ? Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Fabyo disse: beleza, mas entao vamos dar uma faxina geral e alem de trocar as fraudas da um banho nos bebes = ) ,ta entendendo ate aqui ?To sim, ja inclusive fiz a faxina, vou começar as tabelas do zero, ok? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 ok, tenta seguir um padrao e dar uns nomes mais completos por padrao eu uso nomes tudo em minusculo sem acentos espaços e se precisar eu uso _ mas isso é uma opção minha, você pode escolher outro jeito, mas pelo menos os nomes deixe mais simples Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Fabyo disse: ok, tenta seguir um padrao e dar uns nomes mais completos por padrao eu uso nomes tudo em minusculo sem acentos espaços e se precisar eu uso _ mas isso é uma opção minha, você pode escolher outro jeito, mas pelo menos os nomes deixe mais simples Mas por ex. na tabela setor, eu preciso colocar o nome dos setores? (sao 13 no total) as tabelas seriam: CREATE TABLE `noticias` ( `id_noticias` int(11) NOT NULL auto_increment, `titulo` text NOT NULL, `conteudo` longtext NOT NULL, `data` timestamp(14) NOT NULL, `status` char(3) NOT NULL default '', `fonte` text NOT NULL, `fk_imagem` int(11) NOT NULL default '0', `fk_usuario` int(11) NOT NULL default '0', `fk_categoria` int(11) NOT NULL default '0', `fk_setor` int(11) NOT NULL default '0', PRIMARY KEY (`id_noticias`) ) TYPE=MyISAM COMMENT='Notícias do site' AUTO_INCREMENT=3 ; to no caminho certo? CREATE TABLE `imagem` ( `id` int(11) NOT NULL auto_increment, `imagem` blob NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=6 ; CREATE TABLE `tipo` ( `id_tipo` int(5) NOT NULL auto_increment, `destaquemaior` varchar(30) NOT NULL default '', `destaquemenor1` varchar(30) NOT NULL default '', `destaquemenor2` varchar(50) NOT NULL default '', `destaquemenor3` varchar(20) NOT NULL default '', `destaquemenor4` varchar(20) NOT NULL default '', PRIMARY KEY (`id_tipo`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; CREATE TABLE `setores` ( `id_setores` int(10) NOT NULL auto_increment, `setores` varchar(13) default NULL, PRIMARY KEY (`id_setores`), UNIQUE KEY `id` (`id_setores`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; CREATE TABLE `noticias_tipo` ( `id_noticia` int(11) unsigned NOT NULL default '0', `id_tipo` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`id_noticia`,`id_tipo`) ) TYPE=MyISAM; CREATE TABLE `noticias_imagem` ( `id_noticia` int(11) unsigned NOT NULL default '0', `id_imagem` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`id_noticia`,`id_imagem`) ) TYPE=MyISAM; CREATE TABLE `noticias_setores` ( `id_noticia` int(11) unsigned NOT NULL default '0', `id_setores` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`id_noticia`,`id_setores`) ) TYPE=MyISAM; É isso?? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 entao os setores sao conteudo da tabela, onde vai ser gravado e nao nomes de campos * umas observação porque o titulo precisa de um campo text ? nao é apenas um titulo normal tipo o titulo do topico ? * imagem blob, você nao prefere salvar a imagem numa pasta e gravar o link no banco? * data você pode usar DATE melhor para manipular * status de que ? * conteudo longtext porque tudo isso ? * tabela tipo errada, mas vamos por partes depois nos chega nela * UNIQUE KEY id (id_setores) nao precisa, o que poderia é campo unico no setor e nao no id_setor * noticias_tipo errado tbm depois nos chega nela * noticias_imagem errado tbm depois nos chega nela Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Fabyo disse: entao os setores sao conteudo da tabela, onde vai ser gravado e nao nomes de camposumas observação porque o titulo precisa de um campo text ? nao é apenas um titulo normal tipo o titulo do topico ?É, o que seria entao?fiz em cima do curso do imaster (cd), devo mudar para qual? Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Citar entao os setores sao conteudo da tabela, onde vai ser gravado e nao nomes de campos* umas observação porque o titulo precisa de um campo text ? nao é apenas um titulo normal tipo o titulo do topico ? Como falei , eu me baseei no curso do imasters. * imagem blob, você nao prefere salvar a imagem numa pasta e gravar o link no banco? Com certeza, gostaria que fosse assim. * data você pode usar DATE melhor para manipular É só alterar?? * status de que ? Esse status, no exemplo do imasters, seria pra dizer se a msg vai ficar ON ou OFF * conteudo longtext porque tudo isso ? Aqui seria o conteudo da mensagem, nao seria um longtext? ou qual melhor campo utilizavel? * tabela tipo errada, mas vamos por partes depois nos chega nela Errada em que sentido? * UNIQUE KEY id (id_setores) nao precisa, o que poderia é campo unico no setor e nao no id_setor Não entendi! * noticias_tipo errado tbm depois nos chega nela OK! vou aguardar * noticias_imagem errado tbm depois nos chega nela OK! vou aguardar Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 entao o status você pode criar um campo enum D, L tipo desligado e ligado conteudo pode usar text mesmo tabela tipo ta errado a modelagem UNIQUE KEY é para fazer que um campo seja unico e uma chave primaria ja tem esse atributo sendo auto incremento Compartilhar este post Link para o post Compartilhar em outros sites
patricias 0 Denunciar post Postado Janeiro 25, 2006 Fabyo disse: entao o status você pode criar um campo enum D, L tipo desligado e ligadoconteudo pode usar text mesmotabela tipo ta errado a modelagemUNIQUE KEY é para fazer que um campo seja unico e uma chave primaria ja tem esse atributo sendo auto incrementoEntendi, o q mais precisa ser feito? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Janeiro 25, 2006 da uma estudada na tabela noticias que eu vou postar mas só pra você ter uma ideia de relacionamentos, nao vai funcionar ainda porque pra fazer referencia numa tabela ela precisa existir CREATE TABLE noticias ( id_noticia int(11) NOT NULL auto_increment, titulo varchar(100) NOT NULL, conteudo text NOT NULL, data date NOT NULL, status enum('D','L') NOT NULL default 'D', fonte text NOT NULL, fk_imagem int(11) unsigned NOT NULL, FOREIGN KEY (fk_imagem) REFERENCES imagens(id_imagem), fk_usuario int(11) unsigned NOT NULL, FOREIGN KEY (fk_usuario) REFERENCES usuarios(id_usuario), fk_categoria int(11) unsigned NOT NULL, FOREIGN KEY (fk_categoria) REFERENCES categorias(id_categoria), PRIMARY KEY (id_noticias) ) TYPE = innodb; nao se preoculpe com a demora um sistema bem feito se gasta 60% ou ate 70% ou mais com analise do que programando e um banco bem modelado tbm é pra se pensar bem, definir tudo antes e o tempo gasto na modelagem é para o bem do sistema Compartilhar este post Link para o post Compartilhar em outros sites