MadPatryk 0 Denunciar post Postado Setembro 20, 2004 eu queria fazer um menu, onde envolvesse categorias e os campos nas categorias... bom, isso eu jah fiz... no bd, mas eu nao to sabendo eh arrumar o sql... bom, tae o script ki eu to tentando arrumar: esse eh o modelo de como eu quero o menu... <table width="113" border="0" cellpadding="0" cellspacing="0"><tr valign="top" align="center"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000"><font color="#FF8000" face="Comic Sans MS" size="2">:: Cat 01 ::</font></td></tr><? $select = mysql_query("select * from drop_menu01 ORDER BY id ASC"); // executando SQL if (mysql_num_rows($select) > 0) { // se existir resultado while ($show = mysql_fetch_array($select)) { // mostra ?><tr valign="top"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000" onmouseover="ativo(this);" onmouseout="inativo(this);"onclick="clicado(this);"><a href="#" style="text-decoration:none" onClick="location='<?=$show[url]?>'"><font color="#000000" face="Comic Sans MS" size="2">|-<?=$show[menu]?></font></a></td></tr><? } } ?><tr valign="top" align="center"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000"><font color="#FF8000" face="Comic Sans MS" size="2">:: Cat 02 ::</font></td></tr><? $select = mysql_query("select * from drop_menu02 ORDER BY id ASC"); // executando SQL if (mysql_num_rows($select) > 0) { // se existir resultado while ($show = mysql_fetch_array($select)) { // mostra ?><tr valign="top"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000" onmouseover="ativo(this);" onmouseout="inativo(this);"onclick="clicado(this);"><a href="#" style="text-decoration:none" onClick="location='<?=$show[url]?>'"><font color="#000000" face="Comic Sans MS" size="2">|-<?=$show[menu]?></font></a></td></tr><? } } ?><tr valign="top" align="center"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000"><font color="#FF8000" face="Comic Sans MS" size="2">:: Cat 03 ::</font></td></tr><? $select = mysql_query("select * from drop_menu03 ORDER BY id ASC"); // executando SQL if (mysql_num_rows($select) > 0) { // se existir resultado while ($show = mysql_fetch_array($select)) { // mostra ?><tr valign="top"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000" onmouseover="ativo(this);" onmouseout="inativo(this);"onclick="clicado(this);"><a href="#" style="text-decoration:none" onClick="location='<?=$show[url]?>'"><font color="#000000" face="Comic Sans MS" size="2">|-<?=$show[menu]?></font></a></td></tr><? } } ?></table>ele estah fazendo 3 selecoes sql, prq sao 3 categorias... mas eu queria arrumar isso... dai to tentando assim...: <table width="113" border="0" cellpadding="0" cellspacing="0"><? $select = mysql_query("select * from cat_menu order by cat_id ASC"); // executando SQL // $select = mysql_query("select * from cat_menu, drop_menu where cat_menu.cat_id = drop_menu.cat_id order by cat_menu.cat_id ASC")if (mysql_num_rows($select) > 0) { // se existir resultado while ($show = mysql_fetch_array($select)) { // mostra ?><tr valign="top" align="center"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000"><font color="#FF8000" face="Comic Sans MS" size="2"><?=$show[cat_menu]?></font></a></td></tr><? ?><? $select2 = mysql_query("select * from drop_menu order by menu_id ASC"); // executando SQL if (mysql_num_rows($select2) > 0) { // se existir resultado while ($show = mysql_fetch_array($select2)) { // mostra ?><tr valign="top"><td width="114" style="border-top:1px solid #000000;border-bottom:1px solid #000000" onmouseover="ativo(this);" onmouseout="inativo(this);"onclick="clicado(this);"><a href="#" style="text-decoration:none" onClick="location='<?=$show[url]?>'"><font color="#000000" face="Comic Sans MS" size="2">|-<?=$show[menu]?></font></a></td></tr><? }}}} ?></table> tem umas linhas ae que estao comentadas... foi uma das milhares de tentativas ki eu fiz pra ver se dava jeito!!! mas nao deu... alguem me dah um help?! valeusssssssssss! Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Setembro 20, 2004 Nossa, código html com php junto virá uma zona total, ta f*** entender seu código!!!! hehehe Mas nele Ñ tem nda de: 'Inner join'. Tenta explicar melhor q com base na sua explicação se faz a query. Até +... Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Setembro 20, 2004 ah sim... eskeci ki tipow, minhas instruçoes no mysql sao essas ki estao aki ó: # phpMyAdmin SQL Dump# version 2.5.3# http://www.phpmyadmin.net## Servidor: localhost# Tempo de Generação: Set 19, 2004 at 02:22 PM# Versão do Servidor: 4.0.18# Versão do PHP: 4.3.4# # Banco de Dados : `new`# # --------------------------------------------------------## Estrutura da tabela `cat_menu`#CREATE TABLE `cat_menu` ( `cat_id` int(10) NOT NULL auto_increment, `cat_menu` varchar(18) default NULL, PRIMARY KEY (`cat_id`)) TYPE=MyISAM AUTO_INCREMENT=3;## Extraindo dados da tabela `cat_menu`#INSERT INTO `cat_menu` VALUES (1, ':: Cat01 ::');INSERT INTO `cat_menu` VALUES (2, ':: Cat02 ::');# --------------------------------------------------------## Estrutura da tabela `drop_menu`#CREATE TABLE `drop_menu` ( `menu_id` int(10) NOT NULL auto_increment, `cat_id` int(10) default NULL, `menu` varchar(18) default NULL, `url` varchar(200) default NULL, PRIMARY KEY (`menu_id`)) TYPE=MyISAM AUTO_INCREMENT=5;## Extraindo dados da tabela `drop_menu`#INSERT INTO `drop_menu` VALUES (1, 1, 'Menu 01', 'index.php?id=menu01');INSERT INTO `drop_menu` VALUES (2, 1, 'Menu 02', 'index.php?id=menu02');INSERT INTO `drop_menu` VALUES (3, 2, 'Menu 01', 'index.php?id=menu03');INSERT INTO `drop_menu` VALUES (4, 2, 'Menu 02', 'index.php?id=menu04');# --------------------------------------------------------## Estrutura da tabela `drop_menu01`#CREATE TABLE `drop_menu01` ( `id` int(10) NOT NULL auto_increment, `menu` varchar(18) default NULL, `url` varchar(200) default NULL, PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=4;## Extraindo dados da tabela `drop_menu01`#INSERT INTO `drop_menu01` VALUES (1, 'Menu01', 'index.php?id=menu01');INSERT INTO `drop_menu01` VALUES (2, 'Menu02', 'index.php?id=menu02');INSERT INTO `drop_menu01` VALUES (3, 'Menu03', 'index.php?id=menu03');# --------------------------------------------------------## Estrutura da tabela `drop_menu02`#CREATE TABLE `drop_menu02` ( `id` int(10) NOT NULL auto_increment, `menu` varchar(18) default NULL, `url` varchar(200) default NULL, PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=4;## Extraindo dados da tabela `drop_menu02`#INSERT INTO `drop_menu02` VALUES (1, 'Menu01', 'index.php?id=menu01');INSERT INTO `drop_menu02` VALUES (2, 'Menu02', 'index.php?id=menu02');INSERT INTO `drop_menu02` VALUES (3, 'Menu03', 'index.php?id=menu03');# --------------------------------------------------------## Estrutura da tabela `drop_menu03`#CREATE TABLE `drop_menu03` ( `id` int(10) NOT NULL auto_increment, `menu` varchar(18) default NULL, `url` varchar(200) default NULL, PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=4;## Extraindo dados da tabela `drop_menu03`#INSERT INTO `drop_menu03` VALUES (1, 'Menu01', 'index.php?id=menu01');INSERT INTO `drop_menu03` VALUES (2, 'Menu02', 'index.php?id=menu02');INSERT INTO `drop_menu03` VALUES (3, 'Menu03', 'index.php?id=menu03');# -------------------------------------------------------- valeusssssssssssssssssss Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Setembro 20, 2004 Vejamos, você quer uma tabela q guarde as informações referentes aos Menu do seu site?!?!Se for isso, ñ precisa de 2 tabelas, uma só resolve. Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Setembro 20, 2004 naaaaooo... eu tenho duas tables... uma que guarda as categorias e a outra que guarda os itens do menu...oq eu quero, eh tipo esse exemplo aqui do forum... onde nos temos as categorias dos forums, e os forums!... no meu caso, seria a categoria dos itens do menu, e os itens do menu!!!eu queria junta tudo... dai deixar certinho... tipo, order by cat_menu.cat_id, drop_menu.menu_id...tenderam???valeus! Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Setembro 20, 2004 e tah... ki seje em uma table... mas como??tipo, eu queria fazer com duas tables, prq acho ki ficaria mais organizadinho neh?! hehehemas de qq jeito, meu problema nao eh na table...eh no codigo sql.. qual codigo por... Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Setembro 21, 2004 e tah... ki seje em uma table... mas como??tipo, eu queria fazer com duas tables, prq acho ki ficaria mais organizadinho neh?! hehehemas de qq jeito, meu problema nao eh na table...eh no codigo sql.. qual codigo por... Para, ficar enchendo de tabela sem necessidade.Cria uma Tabela só, e coloca um campo adicional chamado categoria ou sub, enfim, ai você sabe se este Menu, é categoria ou Sub com base nos dados deste campo.Flwwwww Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Setembro 22, 2004 de qq jeito... nao tem problemas com as minhas tables!!! o prob eh na query!!!! qual o codigo sql ki eu ponho?!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Setembro 23, 2004 ????????? Compartilhar este post Link para o post Compartilhar em outros sites
iuriag2 0 Denunciar post Postado Setembro 24, 2004 Deixa ver se eu entendi........ cara.. tenta isso..... PHP [/tr][tr]$sql = "select * from cat_menu order by cat_id ASC"; $rs = mysql_query($sql); $num_rows = mysql_num_rows($rs); if ($num_rows > 0){ for ($i = 0;$i > $num_rows;$i++);{ echo "<o nome da categoria>"; $sql_sub = "select * from drop_menu where cat_id = ".mysql_result($rs,$i,"cat_id")." order by cat_menu.cat_id ASC"; $rs_sub = mysql_query($sql_sub); while ($ln = mysql_fetch_array($rs_sub)){ echo "<seus dados dos menus>" } } }else{ echo "não há menus...."; [/tr] Testa ai e avisa.. Um abraço; Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Setembro 24, 2004 Eu n entendi nada...diz quais tabelas c qr unir/relacionar... e quais campos sao assoativos..coloca assim: esse campo(dessa tabela) = esse outro campo(dessa outra tabela) Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Setembro 25, 2004 ve se essa query ajuda:SELECT a.cat_menu, b.menu, b.url FROM cat_menu a, drop_menu b WHERE (a.cat_id = b.cat_id) Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Setembro 27, 2004 kra deu esse erro aki ó: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\apache group\apache\htdocs\index.php on line 34 e ow keitaro... tipo veio... eu jah tentei desse jeito ai e do mesmo estilo soh ki com left join... resolveu o meu caso sim, abriu as duas tables e tud mais... mas o grande prob foi ki duplicou cada categoria pra cada item do menu... nao fico os itens do menu certinho em uma cat... tipo, eu acho ki tipo, tem um comando sql ki nao deixa duplicar a mesma linha... soh ki eu nao sei qual eh... tipow, eu usei o select distinct ... mas nao funcionou... :-p SOCORRRROOOOO!!! hauhauhauahuahu Compartilhar este post Link para o post Compartilhar em outros sites
MadPatryk 0 Denunciar post Postado Setembro 27, 2004 nao deixa mew topico morre naaaao!!!hehehehe Compartilhar este post Link para o post Compartilhar em outros sites
Keitaro 0 Denunciar post Postado Setembro 27, 2004 pra nao duplicar basta definir os fields que você qr da tabela.. eu gerei seu DB aqui e fiz a query.. sem problemas.. n retornou valores duplicados.. tive esse retorno: +------------+-----------+---------------------------+| cat_menu | menu | url ||:: Cat01 :: | Menu 01 | index.php?id=menu01 |+------------+-----------+---------------------------+ Compartilhar este post Link para o post Compartilhar em outros sites