PHP在href中传递ID

时间:2016-06-01 17:54:02

标签: php mysqli href

我试图在表格中制作可编辑的行。 所以我需要链接到另一个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>";
}?>

6 个答案:

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