PHP MySQL从数据库填充值

时间:2012-01-02 10:44:09

标签: php mysql

让我说我检索他们的位置属于top8的所有值。我将它们填入表中,而不是显示不同类型的值,它显示3个表有3个不同的值,这是怎么回事?任何帮助,以便显示属于某些值的不同值?我只需要一个有3个不同值的表。

<?
        $facebookID = "top8";
        mysql_connect("localhost","root","password") or die(mysql_error());
        mysql_select_db("schoutweet") or ie(mysql_error());

        $data= mysql_query("SELECT schInitial FROM matchTable WHERE position='".$facebookID."'")
        or die(mysql_error());

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

        ?>
        <center>
            <table border="0" cellspacing="0" cellpadding="0" class="tbl_bracket">
                <tr>
                    <td class="brack_under cell_1"><a href="www.facebook.com"/>team 1.1><?= $row['schInitial']?><a/></td>
                    <td class="cell_2">&nbsp;</td>
                    <td class="cell_3">&nbsp;</td>
                    <td class="cell_4">&nbsp;</td>
                    <td class="cell_5">&nbsp;</td>
                    <td class="cell_6">&nbsp;</td>
                </tr>

                <tr>
                    <td class="brack_under_right_up">team 1.2><?= $row['schInitial']?></</td>
                    <td class="brack_right"><!--1.2.1--></td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td class="brack_right"><!--2.1--></td>
                    <td class="brack_under"><!--3.1--></td>
                    <td><!--here?--></td>
                    <td><!--there?--></td>
                    <td><!--everywhere?--></td>
                </tr>
            </table>

    </center>
<?
}
?>


</body>

4 个答案:

答案 0 :(得分:1)

因为您在while循环中编写了table标记 。循环内的所有内容都在每个循环周期完成。如果您只想在输出中有一个表,则必须在循环外打开和关闭表,如下所示:

    $data= mysql_query("SELECT schInitial FROM matchTable WHERE position='".$facebookID."'")
    or die(mysql_error());
?>
    <center>
        <table border="0" cellspacing="0" cellpadding="0" class="tbl_bracket">
<?
    while($row =  mysql_fetch_array($data))
    {

?>
            <tr>
                <td class="brack_under cell_1"><a href="www.facebook.com"/>team 1.1><?= $row['schInitial']?><a/></td>
                <td class="cell_2">&nbsp;</td>
                <td class="cell_3">&nbsp;</td>
                <td class="cell_4">&nbsp;</td>
                <td class="cell_5">&nbsp;</td>
                <td class="cell_6">&nbsp;</td>
            </tr>

            <tr>
                <td class="brack_under_right_up">team 1.2><?= $row['schInitial']?></</td>
                <td class="brack_right"><!--1.2.1--></td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td class="brack_right"><!--2.1--></td>
                <td class="brack_under"><!--3.1--></td>
                <td><!--here?--></td>
                <td><!--there?--></td>
                <td><!--everywhere?--></td>
            </tr>
 <?
 }
 ?>
        </table>
</center>

然而,那将每个循环打印三行,因此每个记录打印一次(但是你在其中两个中引用了表内容,所以我想这就是你想要的?)。

还要注意一些格式不正确的HTML(例如> / team 1.1>中的team 1.2>字符。如果要打印> }}到浏览器的字符,将其编码为HTML实体(在这种情况下为&gt;)。在第二行的第一列(</)中,您还可能有多余的</</td>。< / p>

答案 1 :(得分:1)

那是因为你的<table>标签在循环中!将<table>标记放在while循环之外。

答案 2 :(得分:1)

将表格标签放在while循环之外

答案 3 :(得分:0)

你需要在while循环中回显HTML部分,如

echo '<table>';