PHP 在 href 中传递 ID
PHP Passing ID in href
我正在尝试在 table 中创建 editable 行。
所以我需要 link 到另一个 php 文件,同时从我的数据库获取中传递 id。我看了一些教程,但它对我不起作用。
到目前为止一切正常,但是当我进入 edit.php 页面时 'a href' 不会显示任何 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>";
}?>
您不需要为变量关闭双引号。
在双引号内,变量不被视为字符串。
但在单引号内,变量被视为字符串。
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>";
}
您正在添加属性的 ID 外部。这个:
"<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>
这是正确的方法:
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>";
}?>
把你上次的td改成这个
<td><a href='edit.php?id =".$row["id"]."' alt='edit'>Bearbeiten</a></td>
在你的情况下,由于 php
双引号和单引号混合
您也可以这样做,效果很好:
' alt='edit'>编辑
这会将 id 值作为 url
传递到下一页
而不是使用这个 id =".$row["id"]。" ;你也可以使用这个 id=<?=$row["id"]?>
我正在尝试在 table 中创建 editable 行。 所以我需要 link 到另一个 php 文件,同时从我的数据库获取中传递 id。我看了一些教程,但它对我不起作用。 到目前为止一切正常,但是当我进入 edit.php 页面时 'a href' 不会显示任何 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>";
}?>
您不需要为变量关闭双引号。
在双引号内,变量不被视为字符串。
但在单引号内,变量被视为字符串。
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>";
}
您正在添加属性的 ID 外部。这个:
"<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>
这是正确的方法:
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>";
}?>
把你上次的td改成这个
<td><a href='edit.php?id =".$row["id"]."' alt='edit'>Bearbeiten</a></td>
在你的情况下,由于 php
双引号和单引号混合
您也可以这样做,效果很好:
' alt='edit'>编辑
这会将 id 值作为 url
传递到下一页而不是使用这个 id =".$row["id"]。" ;你也可以使用这个 id=<?=$row["id"]?>