0

我想将查询结果打印到表格中。我在查询中设置了一个限制,只能获取 5 行。它确实从我的数据库中获取了 5 行。但是当我将结果打印到 HTML 表中时,结果中的第一行没有打印出来。我找不到我的代码有什么问题。请帮忙!

这是我的做法:

<table style="border:none; width:790px;; margin:10px;" cellpadding="0" cellspacing="0">
    <tr>
        <th  class="header">ID</th>
        <th  class="header">Client Name</th>
        <th  class="header">Driver's License</th>
        <th  class="header">Social Security</th>
        <th  class="header">Phone Number</th>
        <th  class="header">Email Address</th>
        <th  class="header">Date Signed Up</th>
    </tr>  
<?php

$i=1;
while($row = mysql_fetch_assoc($result)){
    if ($i & 1) { //odd rows
        echo '<tr>';
        echo '<td class="entry_odd">'.$row['cid'].'</td>';
        echo '<td class="entry_odd">'.$row['fname'].' '.$row['lname'].'</td>';
        echo '<td class="entry_odd">'.$row['license'].'</td>';
        echo '<td class="entry_odd">'.$row['ss1'].' / '.$row['ss2'].' / '.$row['ss3'].'</td>';
        echo '<td class="entry_odd">'.$row['phone1_1'].'-'.$row['phone1_2'].'-'.$row['phone1_3'];
            if ($row['phone1_ext'] != NULL ) {
                echo ' ext. '.$row['phone1_ext'].'</td>';
            } else { 
                echo '</td>';
            }
        echo '<td class="entry_odd">'.$row['email'].'</td>';
        echo '<td class="entry_odd">'.$row['registered'].'</td>';
        echo '</tr>';

    } else { //even rows
        echo '<tr>';
        echo '<td class="entry_even">'.$row['client_id'].'</td>';
        echo '<td class="entry_even">'.$row['fname'].' '.$row['lname'].'</td>';
        echo '<td class="entry_even">'.$row['license'].'</td>';
        echo '<td class="entry_even">'.$row['ss1'].' / '.$row['ss2'].' / '.$row['ss3'].'</td>';
        echo '<td class="entry_even">'.$row['phone1_1'].'-'.$row['phone1_2'].'-'.$row['phone1_3'];
            if ($row['phone1_ext'] != NULL ) {
                echo ' ext. '.$row['phone1_ext'].'</td>';
            } else { 
                echo '</td>';
            }
        echo '<td class="entry_even">'.$row['email'].'</td>';
        echo '<td class="entry_even">'.$row['registered'].'</td>';
        echo '</tr>';
    }

        $i++;
}

?>

4

2 回答 2

0

谢谢你们的回答!

但我发现是什么搞砸了。这是我在查询之后和之前放置的一行$i=1;。这是那行:

$row = mysql_fetch_assoc($result);

这已经从数组中获取了第一行,这就是为什么当我通过循环输入数组时,第一行 $row 已经被删除了。

于 2012-08-25T02:11:42.163 回答
0

如果没有任何 SQL,我将进行以下更改:

<?php

$i = 0;

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

    $row_class = ($i % 2) ? "entry_even" : "entry_odd";

    echo '<tr>';
    echo '<td class="' . $row_class . '">'.$row['cid']."</td>\n";
    echo '<td class="' . $row_class . '">'.$row['fname'].' '.$row['lname']."</td>\n";
    echo '<td class="' . $row_class . '">'.$row['license']."</td>\n";
    echo '<td class="' . $row_class . '">'.$row['ss1'].' / '.$row['ss2'].' / '.$row['ss3']."</td>\n";
    echo '<td class="' . $row_class . '">'.$row['phone1_1'].'-'.$row['phone1_2'].'-'.$row['phone1_3'];
        if ($row['phone1_ext'] != NULL ) {
        echo ' ext. '.$row['phone1_ext']."</td>\n";
        } else { 
        echo "</td>\n";
        }
    echo '<td class="' . $row_class . '">'.$row['email']."</td>\n";
    echo '<td class="' . $row_class . '">'.$row['registered']."</td>\n";
    echo '</tr>';

    $i++;
}

?>
于 2012-08-20T14:04:50.623 回答