繁体   English   中英

PHP 获取上一个链接ID

[英]PHP get previous link ID

我正在使用以下方法将数据库表中的所有记录提取到页面中;

SELECT * FROM table_name;

该页面显示汽车详细信息的摘要:

汽车清单

现在的想法是创建另一个页面来加载每辆车的全部内容。 问题是我不知道该怎么做。 我在 inte.net 上搜索过,但没有得到任何结果,而且我是 php 的新用户。

MYSQL 查询类似于;

SELECT * FROM table_name WHERE id = {$clicked-id}

其中 clicked id 是之前点击的汽车。 我想我必须为每个以前的汽车名称分配一个 ID。

我很迷茫,有人可以帮助我吗?

阅读PHP 手册,很有帮助。

基本上链接应该是这样的:

<a href="/detail.php?id=<?= $car_id ?>"> car info .. </a>

因此,您在id参数中传递点击的 id。

然后,在您的详细信息页面中,您可以像这样检索它:

<?php
  $car_id = $_GET['id'];
  $query = 'SELECT * FROM cars WHERE id = '.intval($car_id);
?>

我在这里使用$_GET因为参数来自 URL。再次查看PHP 手册,它对早期的东西很有帮助。

请注意,我使用了intval避免 SQL 注入 如果你不知道它是什么意思,你应该研究它。 这里的基本思想是防止用户调用类似detail.php?id=1;DROP TABLE cars;类的东西。 ,其中,如果不使用intval ,将使您的查询:

SELECT * FROM cars WHERE id = 1;DROP TABLE cars;

这会破坏您的数据。

你想查看 PHP 中的$_GET变量。这个“特殊”变量允许你获取在 URL 中传递的参数,

这样,您就可以在 URL 中传递参数,如下所示:

http://yoursite.com/showcar.php?id=5

然后,您可以使用$_GET['id']获取指定id的值。

在此处查看更多信息: http://www.php.net/manual/en/reserved.variables.get.php

好的,这是从列表中的第二辆车呈现的标记:

<table cellspacing="0" cellpadding="0" border="0">
    <tbody>
      <tr>
        <td valign="top" rowspan="3" style="padding: 8px 15px 0px 0px;"><img src=
        "car-images/2_main.jpg" class="car-list" /></td>

        <td valign="top" colspan="4">
          <h2>MG ZR</h2>
        </td>
      </tr>

      <tr>
        <td valign="top" colspan="4">3 Door Hatchback, Yellow, Petrol, Manual, Drivers
        airbag, 1 owner from new, Folding rear seats, Sports seats, Trip computer, Front
        electric windows, Alarm.service history,ABS,cd player,power steering,remote
        central locking</td>
      </tr>

      <tr>
        <td valign="bottom">
          <h4 class="car-info">Fuel</h4>Petrol
        </td>

        <td valign="bottom">
          <h4 class="car-info">Miles</h4>85000
        </td>

        <td valign="bottom">
          <h4 class="car-info">Year</h4>2006
        </td>

        <td valign="bottom">
          <h4 class="car-info">Price</h4>&Acirc;&pound;7500
        </td>
      </tr>
    </tbody>
</table>

假设您要单击图像以查看详细信息。 您需要在图像周围包裹一个锚标记,例如:

...
<a href="deatils.php?carId=2"><img src="car-images/2_main.jpg" class="car-list" /></a>
...

carId=2需要来自生成<div id="car-list">标记的任何代码。

然后,您当然需要一个页面来接收 URL 中名为 details.php 的详细信息(根据我的示例),并像这样解析carId=2 $id = $_GET['carId'] 然后,您可以按照您使用$id变量声明的方式查询数据库。

当你点击一辆车时,PHP 需要知道你点击的是什么车。 例如,概览页面位于www.example.com/cars 链接到每辆车的详细信息页面: www.example.com/viewcar?id=1 ?id=1。 这是 1 汽车在数据库中的 ID。

viewcar页面上,您可以使用$_GET['id']获取 id。 在您的查询中使用此值:

SELECT * FROM `cars` WHERE id = $_GET['id'];

注意请注意,此解决方案说明了概念,但不应使用,因为它很容易受到SQL 注入的攻击。

简单的。 当您建立到汽车“详细视图”的链接时,添加一个参数,例如:

<a href="detailview.php?carid=12">Detail view</a>

现在在 detailView.php 中,您可以使用参数进行 SQL 查询,如下所示

<?php
    $query = "SELECT * FROM table_name WHERE id = ".$_GET["carid"];
    ...
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM