Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 格式化搜索的输出_Php_Html Table - Fatal编程技术网

Php 格式化搜索的输出

Php 格式化搜索的输出,php,html-table,Php,Html Table,我正在尝试为我的网页创建搜索功能,但我在格式化结果时遇到困难,因此无法以表格格式显示结果。这是我的代码: <?php $query = $_GET['query']; $min_length = 10; if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then $query = htmlspecialcha

我正在尝试为我的网页创建搜索功能,但我在格式化结果时遇到困难,因此无法以表格格式显示结果。这是我的代码:

<?php
    $query = $_GET['query'];      
    $min_length = 10;

    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 aggrement
            WHERE (`description` LIKE '%".$query."%') OR (`start_date` LIKE '%".$query."%') OR (`end_date` LIKE '%".$query."%') OR (`balance` LIKE '%".$query."%') OR (`tax_value` LIKE '%".$query."%') OR (`amount_paid` LIKE '%".$query."%') OR (`hosting_name` LIKE '%".$query."%') OR (`domain_name` LIKE '%".$query."%') OR (`first_name` LIKE '%".$query."%') OR (`last_name` LIKE '%".$query."%')") or die(mysql_error());

        if(mysql_num_rows($raw_results) > 0){

            while($results = mysql_fetch_array($raw_results)){

                echo "<p><h3>".$results['description']."</h3>".$results['start_date']."</p>";
                         }    
        }
        else{
            echo "No results";
        }
    }
    else{ 
        echo "Minimum length is ".$min_length;
    }
?>

像这样的东西怎么样

在开始循环遍历结果并为每个结果创建一行之前,请打开表标记。然后,在完成结果循环后,关闭表标记

<?php
    $query = $_GET['query'];      
    $min_length = 10;

    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 aggrement
            WHERE (`description` LIKE '%".$query."%') OR (`start_date` LIKE '%".$query."%') OR (`end_date` LIKE '%".$query."%') OR (`balance` LIKE '%".$query."%') OR (`tax_value` LIKE '%".$query."%') OR (`amount_paid` LIKE '%".$query."%') OR (`hosting_name` LIKE '%".$query."%') OR (`domain_name` LIKE '%".$query."%') OR (`first_name` LIKE '%".$query."%') OR (`last_name` LIKE '%".$query."%')") or die(mysql_error());

        if(mysql_num_rows($raw_results) > 0){

        echo "<table>";
            while($results = mysql_fetch_array($raw_results)){

                echo "<tr>";
                    echo "<td>".$results['description']."</td><td>".$results['start_date']."</td>";
                echo "</tr>";
                         }    

        echo "</table>";
        }
        else{
            echo "No results";
        }
    }
    else{ 
        echo "Minimum length is ".$min_length;
    }
?>

以下内容将获得您需要的结果:

if(mysql_num_rows($raw_results) > 0){
    echo "<table>";
    // echo your header row here
    while($results = mysql_fetch_array($raw_results)){
        echo "<tr>";
        echo "<td>".$results['description']."</td>";
        echo "<td>".$results['start_date']."</td>";
        //And so on for each row you require
        echo "</tr>";
    }
    echo "</table>";
}
if(mysql\u num\u行($raw\u结果)>0){
回声“;
//在这里回显标题行
而($results=mysql\u fetch\u数组($raw\u results)){
回声“;
回显“$results['description']”;
回显“$results['start_date']”;
//对于所需的每一行,依此类推
回声“;
}
回声“;
}

到底是什么问题?如果您已经知道要输出的HTML结构,为什么不用它替换当前版本?以什么方式不起作用?您没有关闭表标记。这可能是你的问题吗?如果我把$results['description']放进去,它就不起作用了
if(mysql_num_rows($raw_results) > 0){
    echo "<table>";
    // echo your header row here
    while($results = mysql_fetch_array($raw_results)){
        echo "<tr>";
        echo "<td>".$results['description']."</td>";
        echo "<td>".$results['start_date']."</td>";
        //And so on for each row you require
        echo "</tr>";
    }
    echo "</table>";
}