我正在使用;
将db表中的所有记录提取到页面中SELECT * FROM table_name;
该页面显示汽车详细信息摘要:
现在的想法是创建另一个页面来加载每辆车的全部内容。问题是我不知道该怎么做。我在互联网上搜索但我没有得到任何结果,我是php的新手。
MYSQL查询类似于;
SELECT * FROM table_name WHERE id = {$clicked-id}
其中点击的ID是之前点击过的汽车。我想我必须为每个以前的车标分配一个id。
我很遗憾,有人可以帮助我。
答案 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>£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"];
...
?>