CocaWare 0 Denunciar post Postado Fevereiro 12, 2006 olá amigos do imasters, sabe o orkut quando tu clica pra v o perfil de alguem, aí mostra o caminho a percorrer para chegar naquela pessoa. por exemplo se eu clico em fulano, apareca assim por exemplo:eu->cocacola->churrasco->mysql->fulanoou fulano é amigo do mysql, onde mysql é amigo do churrasco onde churrasco é amigo de cocacola onde cocacola é meu amigo. :blink: então, alguém poderia me dar alguma ideia de como fazer esse relacionamento? estrutura das tabelas...muito obrigado, até logo Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Fevereiro 13, 2006 Pegando o exemplo de um fórum, ele caminha conforme os relacionamentos na tabela, por exemplo, este tópico: http://forum.imasters.com.br/index.php?showtopic=166135 Com o id do showtopic ele pega na tabela a sala a que ele pertence. - MySQL Pegando o nome da sala. ele consegue obter o nome do fórum: - Gerenciamento de Banco de Dados E a outra informações é o padrão configurado: - iMasters Fóruns Ficando assim: iMasters Fóruns » Gerenciamento de Banco de Dados » MySQL Como fica a estrutura das tabelas? Uma tabela para cada coisa, sem relacionamentos com necessidade de haver integridade. Apenas indicações de ID de fórum/sala/tópico uma para a outra. Quanto ao orkut, não pensei ainda. Mas se eu pensar em algo funcional irei postar. ;) Compartilhar este post Link para o post Compartilhar em outros sites
CocaWare 0 Denunciar post Postado Fevereiro 18, 2006 opa, valeu Eclesiastes. Eu fiz esta query aí: topico:id_topid_forumconteudoforum:id_forumid_catnome_forumcategoria:id_catnome_categoriaSELECT * FROM topico top INNER JOIN forum for ON top.id_forum = forum.id_forumINNER JOIN categoria cat ON forum.id_cat = cat.id_catWHERE top.id_top = $showtopic;se ela estiver certa, agora, como escrever o caminho? pelo que eu sei, usa-se o mysql_fetch_array, mas como usalo nessa query com inner join?Valeu mesmo, até mais http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Fevereiro 19, 2006 Troquei: forum.id_cat = cat.id_cat Por: USING(id_cat) Só por opção, você que decide. : ) Veja o que ocorre com: <pre><?php // Conexão // Selecionar bd $Consulta = mysql_query(" SELECT top.conteudo AS conteudo, for.nome_forum AS nome_forum, cat.nome_categoria AS nome_categoria FROM topico AS top INNER JOIN forum AS for USING(id_forum) INNER JOIN categoria AS cat USING(id_cat) WHERE top.id_top = '{$showtopic}' ") or die(mysql_error()); // Mostrar array de resultados print_r(mysql_fetch_assoc($Consulta));?> Compartilhar este post Link para o post Compartilhar em outros sites
CocaWare 0 Denunciar post Postado Fevereiro 19, 2006 como o print_r retornará na ordem?(categoria->forum->topico) qual a lógica, não intendi... ou para exibir na órdem terei que fazer isso: $row = mysql_fetch_assoc($Consulta) echo $row["conteudo"]."->"; echo $row["nome_forum"]."->"; echo $row["nome_categoria"]; muito obrigado pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Fevereiro 20, 2006 print_r() foi só para você visualizar os dados do Array do resultado.Você pode organizar a ordem na lista do SELECT: SELECT top.conteudo AS conteudo, for.nome_forum AS nome_forum, cat.nome_categoria AS nome_categoriaE imprimir com:print implode(" -> ", mysql_fetch_assoc($Consulta)); Compartilhar este post Link para o post Compartilhar em outros sites
CocaWare 0 Denunciar post Postado Março 12, 2006 amigo Eclesiastes tranquilo? SELECT top.conteudo AS conteudo,for.nome_forum AS nome_forum,cat.nome_categoria AS nome_categoriaO select nessa ordem exibir em que ordem?assim?"topico->forum->categoria"e para exibir assim?"categoria->forum->topico"outra coisa e para exibir o campo conteúdo em outro lugar da página? serve isso?<br><br><div id='conteudo'><?php echo $row["conteudo"] ?></div>Grato Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Março 12, 2006 A ordem é definida conforme a lista do SELECT. SELECT top.conteudo AS conteudo, for.nome_forum AS nome_forum, cat.nome_categoria AS nome_categoria Do primeiro ao último. Quanto a outra dúvida, se $row for a variável que recebe os dados dos campos no loop de resultados, está correto sim. http://www.php.net/mysql-fetch-assoc Compartilhar este post Link para o post Compartilhar em outros sites
CocaWare 0 Denunciar post Postado Março 12, 2006 Veleu pela Ajuda, agora entendi Compartilhar este post Link para o post Compartilhar em outros sites