【问题标题】:PHP hyperlink transfer SQL IDPHP超链接转SQL ID
【发布时间】:2014-05-10 22:32:32
【问题描述】:

我正在开发一个个人项目,以在模拟器游戏中跟踪我的航班。我有一个数据库设置,一个用于航班本身(具有唯一 ID),另一个用于该航班的详细视图 - 相应地与航班表的 ID 匹配。

我正在尝试使用 PHP 显示我的信息,并已成功使用 PHP 创建了一个页面,以使用此代码回显基本航班:

PHP:

$sql = 'SELECT * FROM Flights;';

HTML:

<table>
    <tr>
        <th> Date Flown </th> <th> Departure Airport </th> <th> Arrival Airport </th> <th> Flight Time </th> <th> Aircraft </th>
    </tr>
    <?php foreach($results as $row) { ?>
        <tr>
            <td><?php echo $row['Date']; ?></td>
            <td><?php echo $row['Departure Airport']; ?></td>
            <td><?php echo $row['Arrival Airport']; ?></td>
            <td><?php echo $row['Time Taken']; ?></td>
            <td><?php echo $row['Aircraft']; ?></td>
            <td><a href="/detailedFlight.php<?= $ID ?>"> View Detailed </a></td>
        </tr>
        <?php } ?>
</table>

这很好用。

但是,当我点击“查看详细信息”时,我想查看我的航班的详细视图,这是我目前拥有的代码:

PHP:

$flightID = $_GET['ID'];
$sql = 'SELECT * FROM DetailedFlights WHERE ID = '.intval($flightID);

HTML:

<table>
    <tr>
        <th> Filed Altitude </th> <th> Filed Speed </th> <th> Actual Flown </th> <th> Route </th> <th> SID </th> <th> Departing Runway </th> <th> STAR </th> <th> Arrival Runway </th>
    </tr>
    <?php foreach($results as $row) { ?>
        <tr>
            <td><?php echo $row['Filed Altitude']; ?></td>
            <td><?php echo $row['Filed Speed']; ?></td>
            <td><?php echo $row['Actual Flown']; ?></td>
            <td><?php echo $row['Route']; ?></td>
            <td><?php echo $row['SID']; ?></td>
            <td><?php echo $row['Depart Runway']; ?></td>
            <td><?php echo $row['STAR']; ?></td>
            <td><?php echo $row['Arrival Runway']; ?></td>
        </tr>
        <?php } ?>
</table>

问题是,当点击查看详细信息时,它总是返回存储在条目号“0”下的航班的详细信息。我该如何解决这个问题?

【问题讨论】:

    标签: php mysql sql database html


    【解决方案1】:

    基本上是您错误地传递了 id

     <td><a href="/detailedFlight.php?ID=<?= $ID ?>"> View Detailed </a></td>
    

    然后

    $flightID = $_GET['ID'];
    

    【讨论】:

    • 它仍然无法与您改进的代码一起使用,存在同样的问题
    • 在detailedFlight.php中如果你硬编码id,你得到正确的数据吗?
    • $sql = 'SELECT * FROMDetailedFlights WHERE ID = 2';确实返回正确的数据。
    • 并且 url 显示为 detailedFlight.php?ID=2 ? $ID 应该是 $row['ID']; 还是 $row['id']; ?
    • 当通过查看详细信息链接单击时,URL 只是 http://karankharay.net23.net/detailedFlight.php?ID= 我不认为 ID 传递正确?
    【解决方案2】:

    已解决,这是需要更改的:

    &lt;td&gt;&lt;a href="/detailedFlight.php?ID=&lt;?= $row['ID'] ?&gt;"&gt; View Detailed &amp;#8594; &lt;/a&gt;&lt;/td&gt;

    【讨论】:

    • 公平地说,这是我的建议之一 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 2012-02-29
    • 2014-04-21
    • 2015-03-18
    • 2018-04-26
    • 2010-09-28
    • 1970-01-01
    相关资源
    最近更新 更多