将字符串格式显示为高分表

时间:2014-03-31 08:42:59

标签: php html-table formatting echo

我的高分表遇到了麻烦。

现在看起来像:

Name            Score
----------------------
Luke            102
Tom             98
Baltazar78946   91

我希望它看起来像:

1. Luke           102
2. Tom            98
3. Baltazar78946  91

我有一个mysql表,我从中获取字符串

我的回声看起来像是:

for($i = 0; $i < $num_results; $i++)
   {
    $row = mysql_fetch_array($result);
    echo $row['name'] . "\t" . $row['score'] . "\n";
   }

我的mysql表有3列ID(不想使用它),名称和分数。

我是PHP的新手。

任何人都可以帮我解决这些问题吗?

编辑: 那么我做错了什么?它只显示一个空白页

 <?php
        error_reporting(E_ALL);
        ini_set("display_errors", 1);
        // Send variables for the MySQL database class.
        $rball1 = mysql_connect('myhostname', 'guest', 'psw') or die('Could not connect: ' . mysql_error());
        mysql_select_db('rball1') or die('Could not select database');

        $query = "SELECT * FROM `scores` ORDER by `score` ASC LIMIT 10";
        $result = mysql_query($query) or die('Query failed: ' . mysql_error());

        $num_results = mysql_num_rows($result);  

        echo "<table border='0'>";
            for($i = 0; $i < $num_results; $i++)
        {
            $row = mysql_fetch_array($result);
            echo "<tr>";
            echo "<td>{$i+1}.</td>";
            echo "<td>{$row['name']}</td>";
            echo "<td>{$row['score']}</td>";
            echo "</tr>";

        }
            echo "</table>";
    ?>

3 个答案:

答案 0 :(得分:3)

尝试将其放入表格中。

echo "<table border='0'>";
for($i = 0; $i < $num_results; $i++)
{

    echo "<tr>";
    echo "<td>{$i+1}.</td>";
    echo "<td>{$row['name']}</td>";
    echo "<td>{$row['score']}</td>";
    echo "</tr>";

}
echo "</table>";

答案 1 :(得分:0)

表很好并且有效,但<divs>更好。在我看来,表格很丑陋并且已弃用:

for($i = 0; $i < $num_results; $i++)
{
    echo "<div class='row'>";
    echo "<div class='position'>{$i+1}.</div>";
    echo "<div class='name'>{$row['name']}</div>";
    echo "<div class='score'>{$row['score']}</div>";
    echo "</div>";
}

使用CSS更容易设计样式。 FAR更容易。您只需要将position, namescore设置为display: inline-block,然后您必须给它们宽度为。

答案 2 :(得分:0)

这就是我所做的:(我已经添加了一些功能)

我不知道为什么,但回声&#34; &#34 ;;不是为我工作

但回声&#39; &#39 ;;效果很好

echo '<table style="width:60%;border:5px solid #cccccc;border-collapse:separate;border-spacing:2px;">';
    echo '<col style="width:8%;" /> <col style="width:82%;" /> <col style="width:10%;" />';
    echo '<tr><td>#</td><td>NAME</td><td>DEATHS</td></tr>';
        for($i = 0; $i < $num_results; $i++)
       {
        $row = mysql_fetch_array($result);
        echo '<tr><td>' . $i . '</td><td>' . $row['name'] . '</td><td style="text-align:center;">' . $row['score'] . '</td></tr>';
       }
    echo '</table>';