PHP获取上一个链接ID

PHP获取上一个链接ID,php,mysql,database,Php,Mysql,Database,我正在使用从db表中获取所有记录到一个页面中 SELECT * FROM table_name; 该页面显示车辆详细信息的摘要: 现在的想法是创建另一个页面,加载每辆车的全部内容。问题是我不知道怎么做。我已经在互联网上搜索过了,但是我没有得到任何结果,而且我对php还是新手 MYSQL查询类似于 SELECT * FROM table_name WHERE id = {$clicked-id} 其中单击的id是上一个单击的汽车。我想我必须给以前的每一辆车都分配一个id 我迷路了,有人能帮我

我正在使用从db表中获取所有记录到一个页面中

SELECT * FROM table_name;
该页面显示车辆详细信息的摘要:

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

MYSQL查询类似于

SELECT * FROM table_name WHERE id = {$clicked-id}
其中单击的id是上一个单击的汽车。我想我必须给以前的每一辆车都分配一个id

我迷路了,有人能帮我一下吗。

读这本书,很有帮助

基本上,链接应该类似于:

<a href="/detail.php?id=<?= $car_id ?>"> car info .. </a>
我在这里使用
$\u GET
,因为参数出现在URL中。再一次,看看这个,它对早期的东西很有帮助

请注意,我使用了
intval
来避开背部。如果你不知道这意味着什么,你应该研究一下。这里的基本思想是防止用户调用类似
detail.php?id=1;升降台车,如果不使用
intval
,将使您的查询:

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

这会破坏您的数据。

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

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

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

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

您想查看PHP中的
$\u GET
变量。此“特殊”变量允许您获取URL中传递的参数

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

<?php
  $car_id = $_GET['id'];
  $query = 'SELECT * FROM cars WHERE id = '.intval($car_id);
?>
http://yoursite.com/showcar.php?id=5
然后,您可以使用
$\u get['id']
获取指定的
id
的值


请参阅此处的更多信息:

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

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

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

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

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

<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>

镁锆
三门掀背式、黄色、汽油、手动、驾驶员
安全气囊,1名新车主,折叠式后排座椅,运动型座椅,行车电脑,前排座椅
电动车窗、报警器、维修历史记录、ABS、cd播放器、动力转向系统、遥控器
中控锁
燃料汽油
里程85000
2006年
价格与资本充足率委员会&英镑7500
假设您希望单击图像以查看详细信息。您需要在图像周围环绕一个定位标记,例如:

<a href="detailview.php?carid=12">Detail view</a>
...
<a href="deatils.php?carId=2"><img src="car-images/2_main.jpg" class="car-list" /></a>
...
。。。
...
carId=2
需要来自生成
标记的任何代码


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

我不会为每辆车分配一个id,而是一个url,因此您可以将该id传递给查询,而不是一个数字,并保持其SEO,例如:
选择*from cars\u table WHERE url=“fordfocus”
因此,在另一个注释中,您的链接看起来像
site.com/details/fordfource
,您很可能不需要
选择*
。尽管这可能只是一个测试,但立即学习好习惯并只选择你真正需要的东西是很好的。@Lawrence,这不会像“fordfocus”那样起作用,也不会是独一无二的。您最好传递唯一的主键。漂亮的url和SEO应该在开发过程中晚得多。@meagar您可以构建表格,使
url
字段是唯一的,我认为在早期阶段这样做没有任何问题。更简单地说:SEO位于应用程序的顶部。数据库是应用程序的最低级别。试图将搜索引擎优化(SEO)融入到数据关系的建模中是混合了两个完全不相关的概念,这是完全错误的。如果你证明你的链接对所问的特定问题有帮助,我将投票支持这个答案。你是指PHP手册链接吗?它是指向主要PHP文档的链接。在我看来,OP应该阅读第一章,其中包含使用该语言的基础知识。在这种情况下,他需要阅读有关超全局的内容(
$\u GET
,等等),但我认为最好他通读整个内容。好的,-1那么,尽管其余的答案是可以的。谢谢,它现在起作用了,我将研究如何防止sql注入,intval做了什么?转换为整数,因此如果您有类似于
intval(“12匹马”)
,它将变成
12
发布不应该使用的解决方案有什么意义?我更喜欢单击向下投票按钮,而不是我的评论。问题指的是非常常见的“问题”,可以用许多解决方案来解决。我试着给出一个完整的答案来帮助OP前进一步。我提到这个陷阱,你为什么不高兴呢?因为这个线程中的所有答案都指向查询中的注入
$\u GET
。当我看到互斥段落“使用此值”…“不应该使用它”时,我不会高兴。试着先下定决心。是的,是的。但那是另一回事。我只是在这里演示了使用URL参数将数据发送到另一个页面的机制。我认为安全问题太广泛,不能在这里讨论。答案的质量就是问题。发布可用代码或不发布任何内容。