【问题标题】:Use href in AngularJS table to loop through unique ID在 AngularJS 表中使用 href 循环遍历唯一 ID
【发布时间】:2015-09-17 22:43:42
【问题描述】:

我正在尝试在 AngularJS 搜索表中创建动态链接。

    while($row = mysqli_fetch_array($results)) {
        $id=$row['id'];
        $first_name=$row['first_name'];
        $last_name=$row['last_name'];
        $role=$row['role'];
        $email=$row['email'];
        $phone=$row['phone'];
        $team_name=$row['team_name'];

        ?>

        <tr ng-repeat="data in filtered = (list | filter:search | orderBy : predicate :reverse) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit">                                           
            <td>{{data.first_name}} {{data.last_name}}</td>
            <td>{{data.team_name}}</td>
            <td>{{data.role}}</td>
            <td>{{data.phone}}</td>
            <td>{{data.to_date}}</td>
            <td>{{data.email}}</td>                 
            <?php echo $id; ?>
            <td><?php echo '<a href="admin/admin_edit.php?id='.htmlspecialchars($row['id']).'">Edit</a>'; ?></td>
        </tr>
        </tbody>            
    <?php
    } //closes and stops the loop 
    ?>
</table>    

因此,如果您查看最后一个 &lt;td&gt; 标记,该标记应该循环遍历表格并显示每个人的唯一 ID。但由于某种原因,第一个人的 ID 会显示给所有人。现在奇怪的是,如果我回显变量$id,它将显示所有不同的ID。如果我将&lt;td&gt;&lt;?php echo '&lt;a href="admin/admin_edit.php?id='.htmlspecialchars($row['id']).'"&gt;Edit&lt;/a&gt;'; ?&gt;&lt;/td&gt; 放在它自己单独的&lt;tr&gt; 标签上,那么它将链接到每个人的所有唯一ID。我的问题:如何使 ID 对每个人都是唯一的,而不是一个人的重复,同时保持我的表的相同结构?任何帮助表示赞赏。

请找到一个例子:http://imgur.com/a/MOHN5

第一张图片显示所有唯一ID都显示正常,但第二张图片显示“编辑”,第一个ID为“100002486”。

这不起作用是非常奇怪的,因为如果我将 &lt;td&gt;&lt;?php echo '&lt;a href="admin/admin_edit.php?id='.htmlspecialchars($row['id']).'"&gt;Edit&lt;/a&gt;'; ?&gt;&lt;/td&gt; 放入它自己的 &lt;tr&gt; 标记中,那么它将唯一地将人们的 ID 关联到每一行。但是将它放在&lt;tr&gt; 标记中与其他所有内容只会将第一个人的ID 分配给所有内容。请查看我正在尝试实现的视觉表示:http://imgur.com/N0ohIAE

【问题讨论】:

  • 那么对于 PHP 中的每条记录,我们可以有多行?什么是列表?
  • 你的循环中有一个&lt;/tbody&gt;标签,这会生成无效的HTML
  • @NDM 谢谢,但这并没有解决我遇到的问题

标签: javascript php html mysql angularjs


【解决方案1】:

从循环中删除&lt;/tbody&gt; 标记,就像他的评论中建议的@NDM 一样,然后尝试使用变量$id 而不是$row[$id],如下所示:

<td><?php echo '<a href="admin/admin_edit.php?id='.htmlspecialchars($id).'">Edit</a>'; ?></td>

【讨论】:

  • 感谢您的帮助,但不幸的是这不起作用。这太奇怪了,因为如果我将&lt;td&gt;&lt;?php echo '&lt;a href="admin/admin_edit.php?id='.htmlspecialchars($id).'"&gt;Edit&lt;/a&gt;'; ?&gt;&lt;/td&gt; 放入它自己的&lt;tr&gt; 标记中,那么它将起作用,并且它会动态附加唯一ID
  • @Karma 您是否从 while 循环中删除了 &lt;/tbody&gt;
  • 是的,我已将其从循环中删除并复制了您的代码行,但没有任何变化。如果我在它自己的&lt;tr&gt; 标签中移动那行代码,那么它将按照我想要的方式链接 ID,但我不知道为什么这不起作用。
猜你喜欢
  • 1970-01-01
  • 2021-08-25
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 2014-09-27
相关资源
最近更新 更多