2016-06-01 7 views
0

Я пытаюсь сделать редактируемые строки в таблице. Так что мне нужно связать с другим php-файлом, передавая id из моей базы данных Fetches. Я смотрел некоторые уроки, но это не работает для меня. Все работает нормально, но «a href» не покажет мне никакого идентификатора, когда я доберусь до страницы edit.php.PHP Passing ID в href

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

Я предлагаю вам не эхо HTML, делая это [этот путь] (http://pastebin.com/sS1uuj5y) вместо помогает, поскольку у вас не так много вложенных кавычек, ваш редактор имеет более простой синтаксис задания, выделяющий код для вас, и все просто упрощает работу. – JimL

ответ

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> 
+0

хорошо спасибо за этот ответ, теперь я понимаю, в чем проблема. :) – Korken55

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>"; 
    } 
+1

работал .. ty для этого! :) @Ali Khanusiya – Korken55

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>"; 
}?> 
+0

Разработчики путаются, открывая кавычки открытия и закрытия. PHP предоставляет возможность не закрывать кавычки, если вы не хотите обрабатывать переменную как строку. http://stackoverflow.com/a/3446286/2240375 –

0

Изменение вы в последний раз тд этому

<td><a href='edit.php?id =".$row["id"]."' alt='edit'>Bearbeiten</a></td> 

В вашем случае это влезает между вследствие php дв кавычки и одинарные кавычки смесительных

Смежные вопросы