0

以下のスクリプトを実行すると、最後に余分なヘッダーが出力されますか?

私がやっていることは、特定のパラメーターを使用して 2 つのテーブルからデータを取得し、それらをテーブルに配置することです。最後の echo $result は、まだ $result 内にあるものを確認するためのものであり、余分なヘッダーの前とヘッダーの直後に値を出力します。

どうすればそれを回避できますか?

        extract(shortcode_atts(array(
                "countryid"=>'',
            ), $atts));


// Setting up variables
// Get all the data from the "example" table

        $joburl = "http://www.x.co.za/job/view/";
        $result = mysql_query("SELECT wpjb_job.company_name , wpjb_job.job_category , wpjb_job.job_country ,
                                        wpjb_job.job_title , wpjb_job.job_slug , 
                                        wpjb_category.id ,  wpjb_category.title 
                                    FROM wpjb_job 
                                        INNER JOIN wpjb_category ON wpjb_job.job_category = wpjb_category.id
                                        WHERE job_country='$countryid'
                                        AND(is_filled='0' AND is_active='1')
                                        ORDER BY job_title") 
                    or die(mysql_error());

        echo "<table border='1'>";
        echo "<tr> <th>Job</th> <th>Company</th> <th>Industry</th> </tr>";

// keeps getting the next row until there are no more to get

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

// Print out the contents of each row into a table

        echo "<tr><td>"; 
        echo '<a href ="http://www.x.co.za/job/view/'.$row['job_slug'].'"> '.$row['job_title'].' </a>';
        echo "</td><td>"; 
        echo $row['company_name'];
        echo "</td><td>";
        echo $row['title'];
        echo "</td></tr>"; 
    } 
    echo "</table>";
    echo $result;
    }
4

1 に答える 1

0

以下のように試してください

テーブルのヘッダー行と終了タグを以下の条件に入れます

    $count = mysql_num_rows($result);

    if($count > 0){
      echo "<table border='1'>";
       echo "<tr> <th>Job</th> <th>Company</th> <th>Industry</th> </tr>";
    }
    //your while loop
    while(...) {
       ....
    }
    if($count > 0){
      echo "</table>";
    }  
于 2012-10-16T19:09:05.857 に答える