douliao7354 2014-01-21 01:40 采纳率: 0%
浏览 13
已采纳

如果两个表都不常见,请加入drops变量

I have two tables and the commonality is the tid. the $tid is the primary key for tourneys and if it is in team_tourney then the team selected it. The code below echos everything if a team selected it but drops only the variable $tid for every non selected item. How would you suggest I work around my delema.

tables
    team_tourneys
    tourneys

my sql is

$myChoice=@mysql_query("SELECT * 
    FROM  tourneys
    LEFT JOIN team_tourneys
    ON tourneys.tid = team_tourneys.tid
    WHERE  tourney_state = '$region' AND tourney_start_date >= now()
    GROUP BY tourneys.tid ORDER BY tourney_start_date ASC
"); 

if (!$myChoice)
{ 
    die('<p>Error fetching Tourney details: ' . 
    mysql_error() . '</p>'); 
} 

while ($choice = mysql_fetch_array($myChoice))
{
    $tid = $choice['tid'];
    $tourney_name = $choice['tourney_name'];
    echo '<a href="http://www.mydomain.com/tournament-local.php?&tid='.$tid.'" class="red">'.$tourney_name.'</a></div>'
}
  • 写回答

1条回答 默认 最新

  • douluoyou9876 2014-01-21 01:54
    关注

    Since you are fetching into an associative array you only have one slot for any selected column name (or alias). In other words, you can not have:

    array(
        "tid" => 1,
        "tid" => 2,
    );
    

    Your query is going to return all columns of all referenced tables in the order the tables are listed. Since the both tables contain tid and team_tourneys is the last table referenced, $choice["tid"] will contain team_tourneys.tid which of course can be NULL due to the LEFT JOIN.

    Probably the easiest way to resolve this is to read the tourneys table last:

    SELECT team_tourneys.*, tourneys.*
    FROM tourneys
    LEFT JOIN team_tourneys
    ON tourneys.tid = team_tourneys.tid
    WHERE tourney_state = '$region' AND tourney_start_date >= now()
    GROUP BY tourneys.tid ORDER BY tourney_start_date ASC;
    

    You should really enter each column name individually, however. It's bad practice to use *.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况