如何为php和mysql中的每一行创建唯一的子页面?

时间:2013-09-20 19:49:24

标签: php html mysql sql

我有一个包含4列的表(id,name,surname,url)。我想为每一行创建唯一的子页面。 (example.com/id?=444)。因此,如果我访问example.com?id=444,我会看到来自行的数据,其ID为444.

现在我有将数据添加到数据库中的表单:

> <form action="motogp.php" method="POST"> <input type="text"
> name="name" placeholder="Ime"> <input type="text" name="surname"
> placeholder="Priimek"> <input type="text" name="url" placeholder="URL
> do slike"> <button type="reset" class="ui button">Počisti</button>
> <button type="submit" class="ui positive button">Pošlji</button>
> </form>

现在它只给出了example.com/motogp.php而不是example.com/?id=444。

结果页码:

$sql="INSERT INTO person (name, surname, url)
VALUES
('$_POST[name]','$_POST[sruname]','$_POST[url]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }


$result = mysqli_query($con,"SELECT * FROM person ORDER BY id DESC LIMIT 1");


while($row = mysqli_fetch_array($result))
  {
  echo "<h2>VIDEO: " . $row['name'] . . $row['surname'] . " z drugo zaporedno zmago zmanjšal zaostanek za Marquezom</h2>";
  echo "<img src='images/avoter.png'>";
  echo "<img src='" .  $row['url'] ."'>";

}

1 个答案:

答案 0 :(得分:0)

您的查询是

 SELECT * FROM person ORDER BY id DESC LIMIT 1

这将从您的表中检索最后一行(最高id行)。如果有多个用户正在使用该系统,那么这并不总是您想要的行。

你可能想要

 SELECT * FROM person WHERE id = LAST_INSERT_ID()

这将为您刚刚插入的行提取数据。

在您的网址包含的网页上?id = 444,您需要

 SELECT * FROM person WHERE id = ?

并将URL中ID的值绑定到SQL参数$_REQUEST['id']