2015-04-15 2 views
0

Эй, я создал базовый запрос на запрос базы данных, который отображает строки для меня в таблице. Я хотел бы как-то взять первое поле $ из строки (NOT ID) и изменить его на ссылку? Как бы это было возможно:

while($row = mysql_fetch_assoc($result)){ 

if (isset($_SESSION['myusername'])) 
{ 
    echo "<tr ".$tr_class.">\n"; 
    foreach ($row as $field=>$value) { 
     echo "<td>" . $value . "</td>\n"; 
    } 
    echo "<td><a href='process_edit.php?id=" . $row["id"] . "'>Edit</a></td>"; 
    echo "<td><a href='process_delete.php?id=" . $row["id"] . "'>Delete</a></td>"; 
    echo "</tr>\n"; 
} 

Я пытаюсь создать его таким образом, когда пользователь нажимает на ссылку, они будут приняты на страницу, которая показывает больше информации :) Alex

+0

изменить ** идентификатор ** в поле, которое вы хотите –

+0

Если (по некоторым причинам) вы не знаете имя поля после 'id', вы можете изменить' 'mysql_fetch_assoc' в mysql_fetch_array' и использовать index, например '$ row [1]', но '$ row ['id']' все равно будет работать. – Ohgodwhy

+0

Я бы волновался, если вы не знаете имена полей db –

ответ

0

если вы хотите первое поле в вашем цикле, используйте переменную для инициализации столбца.

if (isset($_SESSION['myusername'])) { 
    echo "<tr ".$tr_class.">\n"; 
    $a=0; 
    foreach ($row as $field=>$value) { 
     echo $a==0?"<td><a href='detail.php?id=".$row["id"]."'>Detail</a></td>":"<td>".$value."</td>"; 
     $a++; 
    } 
    echo "<td><a href='process_edit.php?id=".$row["id"]."'>Edit</a></td>"; 
    echo "<td><a href='process_delete.php?id=".$row["id"]."'>Delete</a></td>"; 
    echo "</tr>\n"; 
} 

или вы можете использовать свой ID.

foreach ($row as $field=>$value) { 
    echo $field=="id"?"<td><a href='detail.php?id=".$value."'>Detail</a></td>":"<td>".$value."</td>"; 
    $a++; 
} 
+0

Спасибо, мне удалось заставить его работать, как будто я хотел использовать первый вариант. второй не работал, хотя :) Еще раз спасибо! –

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