【问题标题】:I am having problems displaying a result from an array in a while loop在 while 循环中显示数组结果时遇到问题
【发布时间】:2013-02-15 01:16:41
【问题描述】:

我是 php 新手,在回显数据库结果时遇到问题。 div 标签上方的所有内容都可以正常执行并正确显示在我的表格中。但我遇到的问题是在 div 标签内。

while($row = mysql_fetch_array($result))
    {
    if ($row['status']==0){
    $row['status']="Inactive";
    $lablestatus="label";
    }
    elseif ($row['status']==1){
    $row['status']="Pending";
    $lablestatus="label label-warning";
    }
    elseif ($row['status']==2){
    $row['status']="Banned";
    $lablestatus="label label-important";
    }
    elseif ($row['status']==3){
    $row['status']="Active";
    $lablestatus="label label-success";
    }                
           echo "<tr>
                 <td>{$row['id']}</td>
                 <td class='center'>{$row['username']}</td>
                 <td class='center'>17</td>
                 <td class='center'>36</td>
                 <td class='center'>17</td>
                 <td class='center'>$458.66</td>
                 <td class='center'>Yes</td>
                 <td class='center'>{$row['register_date']}</td>
                 <td class='center'>2013-02-13 24:06:13</td>
                 <td class='center'>Yes</td>
                 <td class='center'><span class='$lablestatus'>{$row['status']}</span></td>
                 <td class='center'>
                    <a class='btn btn-success' href='view_user.php?id={$row['id']}'>
                    <i class='icon-zoom-in icon-white'></i>View</a>
                    <a class='btn btn-info' href='edit_user.php?id={$row['id']}'>
                    <i class='icon-edit icon-white'></i>Edit</a>
                    <a class='btn btn-danger btn-setting'>
                    <i class='icon-trash icon-white'></i>Delete</a>
                 </td>
                 </tr>

这就是问题发生的地方。当我为某个用户单击删除时,会显示一个弹出窗口。它询问“您确定要删除用户 exampleuser 吗?”我的表中的每个用户都显示相同的用户名。因此,如果我单击删除 exampleuser2,它会询问我是否要删除 exampleuser。知道如何解决这个问题吗?

<div class='modal hide fade' id='myModal'>
                 <div class='modal-header'>
                 <button type='button' class='close' data-dismiss='modal'>×</button>
         <h3>Delete member</h3>
                 </div>
                 <div class='modal-body'>
         <p>Are you sure you want to delete the user {$row['username']}?</p>
                 </div>
         <div class='modal-footer'>
                 <a href='#' class='btn' data-dismiss='modal'>No</a>
                 <a href='delete_user.php?id={$row['id']}' class='btn btn-primary'>Yes</a>
                 </div>
                 </div>";
            }

【问题讨论】:

  • 尝试在 while 条件下使用 $row = mysql_fetch_array($result,MYSQL_ASSOC)
  • 如果可能的话,提供一个 Jsfiddle。您需要综合并举例说明您的问题,以便我们能够正确理解和帮助...
  • 这里是 jsfiddle。 jsfiddle.net/ZcpDH/1
  • 能否请您发布您的删除按钮的javascript?
  • 我遇到的问题是,当我在表中单击删除用户时,它会为每个删除请求显示相同的用户名。

标签: php html arrays loops


【解决方案1】:

因为您的弹出代码是 inisde while 循环

<div class='modal hide fade' id='myModal'>
                 <div class='modal-header'>
                 <button type='button' class='close' data-dismiss='modal'>×</button>
         <h3>Delete member</h3>
                 </div>
                 <div class='modal-body'>
         <p>Are you sure you want to delete the user {$row['username']}?</p>
                 </div>
         <div class='modal-footer'>
                 <a href='#' class='btn' data-dismiss='modal'>No</a>
                 <a href='delete_user.php?id={$row['id']}' class='btn btn-primary'>Yes</a>
                 </div>
                 </div>";

您的 div id 不是唯一的id='myModal',我猜第一个/最后一个 div 所花费的所有时间。 一个页面不能有多个 id

使其动态&lt;div class='modal hide fade' id='myModal_{$row['id']}'&gt; 类似这样的东西并更改您的 js 弹出代码并尝试(我猜您在单击删除链接时指定了此 id 也会使其动态以匹配正确的弹出窗口)。

【讨论】:

    猜你喜欢
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多