我有一个包含4列的表格(ID,名称,姓氏,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'] ."'>";
}
最佳答案
您的查询是
SELECT * FROM person ORDER BY id DESC LIMIT 1
这将从表中检索最后一行(最高ID行)。如果有多个用户在使用该系统,那么该行将不总是您想要的行。
你可能想要
SELECT * FROM person WHERE id = LAST_INSERT_ID()
这将为您刚刚插入的行提取数据。
在您的URL包含?id = 444的页面上,您需要
SELECT * FROM person WHERE id = ?
并将URL中ID的值绑定到SQL参数
$_REQUEST['id']
。关于php - 如何在php和mysql中为每一行创建唯一的子页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18924732/