0

船情報のデータベースに基づいた MySQL クエリがあります。これには、フィールドship_nameとキーが含まれますship_id

current_ship_idページの を使用して、 のアルファベット順のリストに基づいて次の船を見つけるクエリを作成しましたship_names

これはすべて正常に機能しますが、「IF」ステートメントで以下のコードを使用してリンクを作成しようとしています。

header("Location: shipinfo.php?ship_id=$next_ship_id"); 

どうすればよいかわからないのは、 variable を定義することですnext_ship_id。私は行を試しました:

$next_ship_id = ($ship_id);

理論的には、クエリの結果$sql(結果が 1 つしかないことがわかっている)を取得し、 ship_id.

どうすればいいですか?

$sql = "    SELECT ship_infomation.ship_id
              FROM   ship_infomation
        INNER JOIN (
                  SELECT ship_name 
                    FROM   ship_infomation
                   WHERE  ship_id = $current_ship_id
                   ) As current_ship
                ON ship_infomation.ship_name < current_ship.ship_name
          ORDER BY ship_infomation.ship_name ASC
             LIMIT 1";

// echo "<br /><br />$sql<br /><br />";
$ships = mysql_query($sql, $ships) or die(mysql_error());
$row_ships = mysql_fetch_assoc($ships);
$totalRows_ships = mysql_num_rows($ships);
$next_ship_id = ($ship_id);
if ($totalRows_ships = 1)
{
    header("Location: shipinfo.php?ship_id=$next_ship_id");
}
else
{
    // remain on current page  
}
4

1 に答える 1