首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP输出格式错误的html表。

PHP输出格式错误的html表。
EN

Stack Overflow用户
提问于 2013-02-28 17:27:18
回答 3查看 125关注 0票数 0

我在将数据回显到HTML表时遇到了问题。

结果是这样的:

但它应该是:

这是代码。我做错了什么?

<?php
    $query = $_POST['query']; 
    $min_length = 1;

    if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then

        $query = htmlspecialchars($query); 
        $query = mysql_real_escape_string($query);         
        $raw_results = mysql_query("SELECT * FROM norse5_proov
            WHERE (`model` LIKE '%".$query."%') OR (`year` LIKE '%".$query."%')") or die(mysql_error());

        if(mysql_num_rows($raw_results) > 0){ // if one or more rows are returned do following

            while($results = mysql_fetch_array($raw_results)){
                echo "<table>";
                echo "<tr>";
                        echo "<td>Model name</td>";
                echo "<td>Year</td>";
                echo "</tr>";
                echo "<td>".$results['mudeli_nimetus']."</td>";

                echo "<td>".$results['soetusaasta']."</td>";
                echo "<br>";
                echo "</table>";
            }

        }
        else{
            echo "No results";
        }

    }
?>
EN

回答 3

Stack Overflow用户

发布于 2013-02-28 17:28:18

只需将echo "<table>";和第一个tr creation语句放在while循环之外,并在while循环结束后关闭table,我确信它会起作用。

试一试

<?php
    echo "<table><tr><td>Model name</td><td>Year</td></tr>";

    while($results = mysql_fetch_array($raw_results))
    {
        echo "<tr><td>".$results['mudeli_nimetus']."</td><td>".$results['soetusaasta']."</td></tr>";
    }
    echo "</table>";
?>
票数 0
EN

Stack Overflow用户

发布于 2013-02-28 17:29:54

使用此代码,您必须首先启动表,使用while循环迭代结果,然后关闭表。

echo "<table>";
echo "<tr>";
echo "<td>Model name</td>";
echo "<td>Year</td>";
echo "</tr>";
while($results = mysql_fetch_array($raw_results)){
    echo "<tr>";
    echo "<td>".$results['mudeli_nimetus']."</td>";
    echo "<td>".$results['soetusaasta']."</td>";
    echo "</tr>";         
}
echo "</table>";
票数 0
EN

Stack Overflow用户

发布于 2013-02-28 17:35:10

替换if代码块,使用以下代码,希望它能对您有所帮助

如果(mysql_num_rows($raw_results)> 0) {

        echo "<table>";
        echo "<tr>";
        echo "<td>Model name</td>";
        echo "<td>Year</td>";
        echo "</tr>";
    while($results = mysql_fetch_array($raw_results)){
        echo "<tr>";
        echo "<td>".$results['mudeli_nimetus']."</td>";
        echo "<td>".$results['soetusaasta']."</td>";
        echo "</tr>";
    }echo "</table>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15131876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档