将一个表中的结果显示为链接,以显示到另一个表的结果


Display results from one table as link to show results to another table?

>我有一个游戏列表,我希望人们能够进入页面游戏.php并从游戏列表中选择,这会将它们带到同一页面,但作为games.php?subgame=MetalGearRising。

这是我到目前为止所拥有的。

      <?php
      $result = mysql_query("SELECT gamename FROM games ORDER BY gamename");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("%s", $row["gamesname"] . "<br />");
}
      ?>
子游戏是子游戏

表,子游戏的名称是子游戏名称。

现在它列出了它们:最终幻想合金装备固体游戏王

我不知道如何使结果可点击,单击后将它们带到 games.php?subgame=XXX 并显示该游戏下列出的子游戏。我确实有自动增量,所以我不确定我是否需要在内部连接中引用它还是什么,我对连接不太熟悉。

任何帮助将不胜感激。

编辑:@Jesse

看到这就是我迷路的地方,因为我无法弄清楚如何将它们链接在一起,因为我的子游戏有以下行:子游戏ID子游戏名称子游戏说明

例如,假设我点击了Metal Gear Solid,它把我带到了子游戏.php?list=Metal Gear Solid,其中它应该列出子游戏名称的结果,专门针对合金装备固体游戏在游戏桌上。例如,假设子游戏名称是合金装备崛起。然后它应该只显示子游戏表中的那个。

对于子游戏,我的代码看起来像这样.php

$_GET['subgamename'];
if ($_REQUEST['do'] == $_GET['subgamename'];)
{
$sql = mysql_query('SELECT subgamename FROM items WHERE ID = "'.$id.'"');
}

但是看到问题是我没有游戏名称来打印结果吗?我的意思是肯定有一种更简单的方法来列出它,而不是必须输入两个不同表中的游戏名称?

@bobthyasian 实际上,这可能是我从这里开始所需要的。让我用我现有的代码试试这个。

它实际上是回显"

  • $row['gamesname']

  • ";但这在某种程度上有效,但是当我单击链接时,我收到警告:mysql_fetch_array() 期望参数 1 是资源,布尔值在第 54 行的/public_html/games.php 中给出。我假设是因为它没有引用游戏表来知道要列出哪个子游戏,这是我被打倒的部分。

    您需要使用$_GET[]与如下所示的IF ELSE混合

    <?php
    $sub = $_GET['subgame'];
    if($sub){
    //Check if subgame selected
    $result = mysql_query("SELECT $sub FROM games");
     while ($row = mysql_fetch_array($result)) {
      //Display subgame info
     }
    }
    else{
    //No subgame selected
    //Display subgames
    $result = mysql_query("SELECT gamename FROM games ORDER BY gamename");
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
       echo "<li><a href='game.php?subgame=".$row['gamesname']."</a></li><br />";
     }
    }
    ?>
    

    因此,您的代码将生成实际的 HTML,而您的 printf 将更像这样:

    printf("<li><a href='games.php?subgame=%s'> %s </a></li>'n", $row["gamename"], $row["gamename"]);
    

    -耶西