PHP获取以前的链接ID

时间:2012-04-04 14:08:39

标签: php mysql database

我正在使用;

将db表中的所有记录提取到页面中
SELECT * FROM table_name;

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

car-list

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

MYSQL查询类似于;

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

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

我很遗憾,有人可以帮助我。

5 个答案:

答案 0 :(得分:2)

阅读PHP manual,这非常有帮助。

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

<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,因为参数来自网址。再次查看PHP manual,这对早期的内容非常有帮助。

请注意,我使用intval来阻止SQL injection。如果你不知道它意味着什么,你应该研究它。这里的基本想法是阻止用户调用类似detail.php?id=1;DROP TABLE cars;的内容,如果不使用intval,则会调用您的查询:

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

哪会破坏您的数据。

答案 1 :(得分:1)

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

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

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

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

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

答案 2 :(得分:1)

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

<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">标记的任何代码。

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

答案 3 :(得分:-1)

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

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

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

注意请注意,此解决方案说明了这一概念,但不应使用,因为它非常容易受到SQL injection的攻击。<​​/ p>

答案 4 :(得分:-2)

简单。当您构建指向汽车“详细信息视图”的链接时,请添加参数,例如:

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

现在在detailView.php中,您可以使用参数来创建SQL查询,如此

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