Buxexa 0 Denunciar post Postado Março 5, 2007 Bom é o seguinte galera, eu tenho 3 tabelas: forum_users > é onde tem o username e rank_clan // username= usuario, rank_clan= id do clan do usuario clan_nomes > onde tem id, clan_nome, clan_sigla, clan_dono, clan_subdono, clan_descricao // os nomes ja se auto explicam clan_cfs > onde tem id, data, time1_clan, time2_clan // id= qualquer 1, data= data do clanfronto, time1_clan= id do clan1, time2_clan= id do clan2 Aí eu tenho uma página em que mostram os clanfrontos agendados. Por exemplo: 7/3/07 às 20hs, [bAG] vs .HoLY. Como eu faço para exibir isso? Na minima noção que eu tenho o inner join vai ter que estar ligado o time1 à sigla do seu respectivo clan, mas o time2 também vai ter mostrar sua sigla, então quando eu retorno o clan_sigla, está aparecendo repitido aqui 7/3/07 às 20hs, [bAG] vs [bAG] Outra coisa, eu coloquei o forum_users ali pra saber também como eu faço pra ligar o username a sigla do seu clan, pois na página pessoal dele tem de aparecer o próximo clanfronto de seu clã. Esse negócio ta me consumindo, é pior que o http://forum.imasters.com.br/public/style_emoticons/default/devil.gif Agradeço a quem poder me ajudar! 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 Março 5, 2007 Sim, você pode fazer com INNER JOIN. Exemplo: SELECT data, cn1.clan_sigla AS sigla1, # 1ª sigla cn2.clan_sigla AS sigla2 # 2ª siglaFROM clan_cfs AS cf INNER JOIN clan_nomes AS cn1 ON cn1.id = cf.time1_clan INNER JOIN clan_nomes as cn2 ON cn2.id = cf.time2_clanQuanto à outra questão, levando em consideração que o campo data da tabela clan_cfs esteja armazenando datas no formato inglês, você poderia fazer algo como: SELECT username, cn.clan_sigla, cf.data FROM forum_users AS fu INNER JOIN clan_nomes AS cn ON cn.id = fu.rank_clan INNER JOIN clan_cfs AS cf ON (cf.time1_clan = cn.id OR cf.time2_clan = cn.id) AND cf.data >= CURDATE() Compartilhar este post Link para o post Compartilhar em outros sites
Buxexa 0 Denunciar post Postado Março 5, 2007 Sim, você pode fazer com INNER JOIN. Exemplo: SELECT data, cn1.clan_sigla AS sigla1, # 1ª sigla cn2.clan_sigla AS sigla2 # 2ª siglaFROM clan_cfs AS cf INNER JOIN clan_nomes AS cn1 ON cn1.id = cf.time1_clan INNER JOIN clan_nomes as cn2 ON cn2.id = cf.time2_clanQuanto à outra questão, levando em consideração que o campo data da tabela clan_cfs esteja armazenando datas no formato inglês, você poderia fazer algo como: SELECT username, cn.clan_sigla, cf.data FROM forum_users AS fu INNER JOIN clan_nomes AS cn ON cn.id = fu.rank_clan INNER JOIN clan_cfs AS cf ON (cf.time1_clan = cn.id OR cf.time2_clan = cn.id) AND cf.data >= CURDATE() Mas tipo, você colocou cn1.clan_sigla e cn2.clan_sigla, mas não existem esses campos. São apenas clan_nomes.sigla (Tabela clan_nomes e campo sigla). Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Março 5, 2007 Eu apenas utilizei os nomes que você citou: clan_nomes > onde tem id, clan_nome, clan_sigla, clan_dono, clan_subdono, clan_descricao // os nomes ja se auto explicam Compartilhar este post Link para o post Compartilhar em outros sites
Buxexa 0 Denunciar post Postado Março 7, 2007 Eu apenas utilizei os nomes que você citou: clan_nomes > onde tem id, clan_nome, clan_sigla, clan_dono, clan_subdono, clan_descricao // os nomes ja se auto explicam Consegui fazer funcionar! Mas só a primeira parte.Tipo eu tenho 3 tabelas, forum_users (onde tem o usuario e seu clan id), clan_nomes (onde tem a sigla do clan e o id do clan), e o clan_cf(onde tem a data do cf, time1, time2). é o seguinte, na página index tem que retornar a data do proximo clanfronto independente de ser qualquer clan essa eu consegui fazer nessa consulta: // Esse código retornar os 5 prximos clanfrontos na página index. Da seguinte maneira:// Data - Time1 VS Time2// 19/03/07 às 13:00 - ClanAzul vs ClanVerde<? $query_dbr_cf = "SELECT cfs_data, cn1.cn_sigla AS sigla1, cn2.cn_sigla AS sigla2, cn1.cn_id AS clan1, cn2.cn_id AS clan2FROM clan_cfs AS cf INNER JOIN clan_nomes AS cn1 ON cn1.cn_id = cf.time1_clan INNER JOIN clan_nomes as cn2 ON cn2.cn_id = cf.time2_clan WHERE cfs_data >= CURDATE() ORDER BY cfs_data ASC";$query_limit_dbr_cf = sprintf("%s LIMIT %d, %d", $query_dbr_cf, 0, 5);$dbr_cf = mysql_query($query_limit_dbr_cf, $rank) or die(mysql_error());$dbr_cf_v = mysql_fetch_assoc($dbr_cf);?><center><? $data = $dbr_cf_v['cfs_data']; $data_formatada=substr($data, 8,2)."/".substr($data, 5,2)."/".substr($data, 2,2)." s ".substr($data, 11,5); echo $data_formatada; ?><br /><a href="?url=Clan&id=<? echo $dbr_cf_v['clan1']; ?>"><? echo $dbr_cf_v['sigla1']; ?></a> VS <a href="?url=Clan&id=<? echo $dbr_cf_v['clan2']; ?>"><? echo $dbr_cf_v['sigla2']; ?></a></center>Mas na página pessoal do usuario tem q mostrar a data do proximo cf so q do clan dele e tem que aparecer a sigla do clan em que vou enfrentar, como faço isso? Eu já fiz seu segundo código, só que não consigo retornar o nome do time adversário, só consigo retornar o nome do próprio time do usuário. Compartilhar este post Link para o post Compartilhar em outros sites