0
$table="<table border='1'>
    <tr>
    <th>FIRST NAME</th>
    <th>LAST NAME</th>
    <th>EMAIL</th>
    <th>GENDER</th>".
    while($row = mysql_fetch_array($result3))
    {
        $action="Action";
        $var=$action.$count;
         ."<th>" .$var. "</th>".
        $count=$count+1;

    } 

    ."        </tr>".

    while($row = mysql_fetch_array($result2))
    {

         ."<tr>".
         "<td>".$row['firstname']."</td>".
         "<td>".$row['lastname']."</td>".
         "<td>".$row['email']."</td>".
        if($row['gender']=='m')
        {
            $gend='male';
        }
        else
        {
            $gend='female';
        }
         "<td>".$gend."</td>".

        $result3=$db->selectUserPermission($uid);
        $id=$row['userid'];
        $loginuser=$_SESSION['LOGINUSER'];
        while($row = mysql_fetch_array($result3))
        {

              ."<td>".
            if($row['permid']==1)
            {
                $permission="VIEW";
                $btnid=$id."_VIEW";
                 ."<button id=$btnid name=$btnid onclick='getFunctionView($id)'>".$permission."</button>".
            }
            else  if($row['permid']==2)
            {
                $permission="EDIT";
                $btnid=$id."_EDIT";
                 ."<button id=$btnid name=$btnid onclick='getFunctionEdit($id)';>".$permission."</button>".
            }
            else  if($row['permid']==3)
            {
                if($id!=1 || $id!=$loginuser)
                {
                $permission="DELETE";
                $btnid=$id."_DELETE";
                 ."<button id=$btnid name=$btnid onclick='getFunctionDelete($id)';>".$permission."</button>".
                }
            }
            else  if($row['permid']==4)
            {
                if($id!=1)
                {
                $permission="PERMISSION";
                $btnid=$id."_PERMISSION";
                 ."<button id=$btnid name=$btnid onclick='getFunctionPermission($id)';>".$permission."</button>".
                }
            }
            else  if($row['permid']==5 && $loginuser==$id)
            {
                $permission="ADD USER";
                 ."<button id=$btnid name=$btnid onclick='location.href=\"adduser.html\"'>".$permission."</button>".
            }
            else
            {
            }

             ."</td>".
        }
    }
     ."</tr>
     </table>";
     echo $table;

这是来自 ajax 调用的 php 页面的代码。这里 $result2 和 $result3 是使用 2 个 sql 查询获得的 2 个结果集。我想使用这两个结果生成一个表,并将该表存储到一个 php 变量 $table 和在 ajax 中,我想直接将其分配为 html 文本,ajax 代码如下所示。

   $(document).ready(function(){

    var temp='getUser';
    $.ajax ({
                type:'GET',
                url: 'listdetails.php',
                data:{ud:temp},
                success:function(data)
                        {
                            document.getElementByID("userList").innerHTML=data;
                        }

           });

});

我的问题是在创建 php 变量 $table。它在每个连接中都显示错误(“。”)。这是错误消息“解析错误:语法错误,C:\wamp\www\listdetails.php 中的意外 T_WHILE第 39 行“。任何人都可以提出一种制作 php 变量 $table 的好方法。记住这个 $table 在 ajax 调用的 php 页面中。

4

3 回答 3

3

你使用错误的连接。

  • 不要将变量赋值 ($someVar = ) 与条件 (if) 或循环 (while) 语句连接起来
  • 不要放一个 . 之后 ; 或 } 因为这些字符会终止上一个命令,并且您不能使用 . 启动下一个命令。

这是代码第一部分的修改版本,可帮助您入门:

$table="<table border='1'>
<tr>
<th>FIRST NAME</th>
<th>LAST NAME</th>
<th>EMAIL</th>
<th>GENDER</th>";

while($row = mysql_fetch_array($result3))
{
    $action="Action";
    $table.="<th>" .$action.$count. "</th>";
    $count++;
} 

$table .= "        </tr>";
于 2012-12-11T07:39:07.040 回答
0

考虑到您想要做的就是回显表格,我只会在需要时结束/启动 PHP。清理后的代码如下。

<table border='1'>
<tr>
<th>FIRST NAME</th>
<th>LAST NAME</th>
<th>EMAIL</th>
<th>GENDER</th>
<?php
while($row = mysql_fetch_array($result3))
{
        $action="Action";
        $var=$action.$count;  //$count is not defined yet in your example, first time will be ''
        echo "<th>" .$var. "</th>";
        $count=$count+1;
}
?>
</tr>

<?php
while($row = mysql_fetch_array($result2))
{
    ?>
    <tr>
    <td><?php echo $row['firstname']; ?></td>
    <td><?php echo $row['lastname']; ?></td>
    <td><?php echo $row['email']; ?></td>
    <td><?php echo (($row['gender']=='m') ? 'male' : 'female'); ?></td>

    <?php
    $result3=$db->selectUserPermission($uid);
    $id=$row['userid'];
    $loginuser=$_SESSION['LOGINUSER'];
    while($row = mysql_fetch_array($result3))
    {
        echo "<td>";

        switch ($row['permid']) {
            case 1:
                $permission="VIEW";
                $btnid=$id."_VIEW";
                echo "<button id=$btnid name=$btnid onclick='getFunctionView($id)'>".$permission."</button>";
                break;
            case 2:
                $permission="EDIT";
                $btnid=$id."_EDIT";
                echo "<button id=$btnid name=$btnid onclick='getFunctionEdit($id)';>".$permission."</button>";
                break;
            case 3:
                if($id!=1 || $id!=$loginuser)
                {
                    $permission="DELETE";
                    $btnid=$id."_DELETE";
                     echo "<button id=$btnid name=$btnid onclick='getFunctionDelete($id)';>".$permission."</button>";
                }
                break;
            case 4:
                if($id!=1)
                {
                    $permission="PERMISSION";
                    $btnid=$id."_PERMISSION";
                    echo "<button id=$btnid name=$btnid onclick='getFunctionPermission($id)';>".$permission."</button>";
                }
                break;
            case 5:
                if($loginuser==$id)
                {
                    $permission="ADD USER";
                    echo "<button id=$btnid name=$btnid onclick='location.href=\"adduser.html\"'>".$permission."</button>";
                }
                break;
        }

        echo "</td>";
    }
}
?>
</tr>
</table>
于 2012-12-11T08:20:02.777 回答
0
$sTable = '
<table>
 <tr>
  <td></td>
 </tr>';

while( false ) {
 $sTable .= '';
}

$sTable .= '
 </table>';

echo $sTable;

或者就像我会做的那样

$sBuffer = '';
while( code goes here ) {
 $sBuffer .= '
 <tr>
  <td></td>
 </tr>';
}


echo '
<table>
 <tr>
  <td></td>
 </tr>
 ' . $sBuffer . '
</table>';
于 2012-12-11T07:38:07.250 回答