0

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

SELECT * FROM table_name;

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

汽车清单

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

MYSQL 查询类似于;

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

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

我很迷茫,有人可以帮助我。

4

5 回答 5

2

阅读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;

这会破坏你的数据。

于 2012-04-04T14:12:40.707 回答
1

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

有了这个,您将能够在 URL 中传递参数,如下所示:

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

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

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

于 2012-04-04T14:13:07.350 回答
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变量查询数据库。

于 2012-04-04T14:17:23.087 回答
-1

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

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

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

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

于 2012-04-04T14:14:19.000 回答
-2

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

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

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

<?php
    $query = "SELECT * FROM table_name WHERE id = ".$_GET["carid"];
    ...
?>
于 2012-04-04T14:12:58.623 回答