我试图在表格中制作可编辑的行。 所以我需要链接到另一个php文件,同时从我的数据库Fetches传递id。我看了一些教程,但它对我不起作用。 到目前为止,一切都运作良好,但是' a href'当我到达edit.php页面时,不会告诉我任何id。
<?php
$user = 'root';
$password = 'root';
$db = 'projekte_db';
$host = 'localhost';
$port = 3306;
$con = mysqli_connect($host, $user, $password, $db);
$query = "Select id,name,ort,strasse,projektleiter from Projekt";
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_array($result)){
echo "<tr>
<td>".$row["id"]."</td>
<td>".$row["name"]."</td>
<td>".$row["ort"]."</td>
<td>".$row["strasse"]."</td>
<td>".$row["projektleiter"]."</td>
<td><a href='edit.php?id='".$row["id"]."alt='edit'>Bearbeiten</a></td>
</tr>";
}?>
答案 0 :(得分:3)
您正在添加属性的外。这样:
"<a href='edit.php?id='".$row["id"]."alt='edit'>Bearbeiten</a>"
会产生这样的东西:
<a href='edit.php?id='123alt='edit'>Bearbeiten</a>
这意味着href
没有值,并且有一个错误的123alt
属性,这在HTML中没有任何意义。
将值放在属性中:
"<a href='edit.php?id=".$row["id"]."' alt='edit'>Bearbeiten</a>"
产生更像这样的东西:
<a href='edit.php?id=123' alt='edit'>Bearbeiten</a>
答案 1 :(得分:1)
您无需关闭变量的双引号。
在双引号内,变量不被视为字符串。
但在单引号内,变量被视为字符串。
while($row = mysqli_fetch_array($result)){
echo
"<tr>
<td> {$row["id"]} </td>
<td> {$row["name"]} </td>
<td> {$row["ort"]} </td>
<td> {$row["strasse"]} </td>
<td> {$row["projektleiter"]} </td>
<td>
<a href=\"edit.php?id={$row['id']}\" alt='edit'>
Bearbeiten
</a>
</td>
</tr>";
}
答案 2 :(得分:1)
这是正确的方法:
Client:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Tue Apr 26 23:44:17 2016
OS/Arch: windows/amd64
Server:
Version: swarm/1.2.3
API version: 1.22
Go version: go1.5.4
Git commit: eaa53c7
Built: Fri May 27 17:25:03 UTC 2016
OS/Arch: linux/amd64
Dev system: Windows 8.1 X64
答案 3 :(得分:0)
将您最后一次改为此
<td><a href='edit.php?id =".$row["id"]."' alt='edit'>Bearbeiten</a></td>
在你的情况下,由于php
doble引号和单引号混合而导致它间隔中断
答案 4 :(得分:0)
您也可以这样做,并且效果很好:
'alt ='edit'>编辑
这会将id值作为url传递到下一页
答案 5 :(得分:0)
而不使用此id =“。$ row [” id“]。” ;您也可以使用此id=<?=$row["id"]?>