我有一个需要选择更新的记录ID

时间:2014-11-10 00:44:02

标签: php mysql pdo

我有一个我无法弄清楚的简单问题。我试图将记录设置的ID作为链接转到更新记录的第二页。当我点击更新时,我有更新工作,它带我到记录。我希望id也能这样做。

<html>
<?php
require_once("../db_connect.php");


$stmt = $db->prepare("SELECT * FROM Users");
$stmt->execute();
?>
<?php while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) { ?>

<table bgcolor=F2F2F2 width=1080 border='2'table-layout: fixed >
<br>
<tr> 
    <th>Id</th>
    <th>Update</th>
    <th>First Name</th>
    <th>Last name</th>
    <th>Address</th>
    <th>Bio</th>

</tr>
<tr>
<?php echo  "<td>
              <a href='../update.php?id="  . $row['id'] .  "'>ID</a></td>"?>
<?php echo "<td>
              <a href='../update.php?id="  . $row['id'] .  "'>Update</a></td>"?>
    <td><?php echo $row['First Name']; ?></td>
    <td><?php echo $row['Last Name']; ?></td>
    <td><?php echo $row['Address']; ?></td>
    <td><?php echo $row['Bio']; ?></td>
</tr>
<?php } ?>
</table>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

通常,将重复的内容放入函数或变量然后在需要时调用它是一种很好的做法,以提高代码的可读性和性能。节省时间/空间。 我也注意到很多人都在努力学习新的语法,所以我分开了#34; one-liners&#34;并留下了解释新语法如何工作的评论。

function col_gen($slug,$id=''){

     return (!empty($id))? // If ID parameter exist and not empty generate column with a link
                '<td><a href="../update.php?id='.$id.'">'.$slug.'</a></td>': //else
                '<td>'.$slug.'</td>';
}

然后,在您的情况下,您可以在循环中运行此函数:

....              

     foreach($row as $k=>$slug){

         echo ($k==='id')? //if key equals "id"
                   col_gen($slug,$slug) // Output column for ID 
                  .col_gen('Update',$slug) // Output column for keyword Update
                  :col_gen($slug); //else output just column with the slug

                  /**
                   * Learn one-line PHP, you will love it, once you understand it...
                   * Full Example Above:
                   * echo ($k==='id') ? col_gen($slug,$slug).col_gen('Update',$slug):col_gen($slug);
                   **/
     }