我试图使用$ _GET ['id']在页面上显示我的SQL表格的某一行。
所以我将简要介绍一下我的设置:
我有一个列表页面,其中列出了我在SQL表中的所有车辆(一行等于一辆车),并且代码块循环以将所有行打印到页面。
我的商品详情页面的H1
附有一个“a”标签,动态列出了网址ID,以下是一个示例:
<a href="carview.php?id='.$row["FullRegistration"].'">
所以这基本上是从我的SQL表中提取车辆的注册,并根据已经在表中循环的行给carview.php
一个ID。
现在到了将显示动态内容的实际页面。
目前我正在使用<?php $carId = $_GET['id']; ?>
来检索<a href="carview.php?id='.$row["FullRegistration"].'">
代码块打印的ID。
因此,如果我回显$carId
,它会将ID打印到与我的SQL数据库的"FullRegistration"
列相同的页面上。
实际问题
我现在想知道如何查询具有相同ID的行,在我的情况下,ID是我的SQL表的完整"FullRegistration"
列。
我现在如何打印出与网址中的ID匹配的行?假设我的一行的"FullRegistration"
列值为TT05QVC,我希望它在url id匹配时显示该行的数据。
我猜我应该使用WHERE子句但是经过反复试验我似乎找不到办法来做到这一点。
我有什么想法可以做到这一点?
答案 0 :(得分:1)
从表中检索数据的查询可能类似于:
SELECT
*
FROM
your_table_name
WHERE
`FullRegistration` = :id
这就是说“从表中选择注册等于名为的所有列:id”
更全面的例子是:
<?php
// ...assuming $carId is set somewhere before here
// make a connection to your database
$db = new PDO('mysql:host=localhost;dbname=your_db_name;charset=utf8',
'username', 'password');
// prepare the query on your database
$query = $db->prepare('
SELECT
*
FROM
your_table_name
WHERE
FullRegistration = :id
');
// bind your id to the query
$query->execute(array(':id' => $carId));
// retrieve all the cars as an array
$cars = $query->fetchAll(PDO::FETCH_ASSOC);
if (count($cars)) {
// if we've found some cars, display the details
foreach ($cars as $car) {
// dump to the screen
var_dump($car);
// you could output your html here
// i.e. echo '<strong>' . $car['FullRegistration'] . '</strong>';
}
}