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"]?>