0

私のコード

    <?php
    include('ConnectToDb.php');

    $query = "SELECT * FROM News WHERE NewsFlag = 1 ORDER BY PostDate DESC";
    $arrCount = -1;
    $result = mysql_query($query) or die(mysql_error());
    while($row = mysql_fetch_array($result)){
        $ID=$row['ID'];
        $PostDate = $row['PostDate'];
        $NewsHeader = stripslashes($row['NewsHeader'])
;
        $NewsStart = stripslashes($row['NewsStart'])
;
            echo "<hr>";
            echo "<div>". date('j F Y',strtotime($PostDate)). "</div>";
            echo "<p>";
                $news_id = strval(sprintf("%1$04d",$ID));
                $array = scanImageFolder("newsImages/newsThumbs",$news_id);
                if(count($array)>0) {
                    echo "<img src='". $array[0]. "' alt='' />";
                }
            echo "<h2 style='text-align:center'><u><a href='latestnews_full.php?ID=$ID'>". $NewsHeader. "</a></u></h2>";
            echo "<div style='text-align:left'><h3>";
            echo $NewsStart. " ......<a href='latestnews_full.php?ID=$ID'>(more)</a><br />";
            echo "<div style='text-align:center'>";
            echo "</div>";
            echo "</h3></div>";
    }
?>

上部に日付、写真、タイトル、説明の順に 4 行でデータをうまく表示します。

しかし、このようにデータを表として表示したい

    <table style="width: 100%">
    <tr>
        <td colspan="2">postDate here</td>
    </tr>
    <tr>
        <td rowspan="2">picture here</td>
        <td>newsHeader here</td>
    </tr>
    <tr>
        <td>newsStart here</td>
    </tr>
</table>

表のセルを正しくエコーする方法がわかりません。これまでの試みはすべて白いページになりました。誰か教えてください。

4

1 に答える 1

1

ロジックを提示可能な部分から分離することをお勧めします。結果をフェッチし、var などを割り当てる準備ができたら、PHP タグを閉じます。

<table style="width: 100%">
<?php
//yourcode
//...
//...
$NewsStart = stripslashes($row['NewsStart']);
$news_id = strval(sprintf("%1$04d",$ID));
$array = scanImageFolder("newsImages/newsThumbs",$news_id);
?>


 <tr>
    <td colspan="2"><?= date('j F Y',strtotime($PostDate)) ?></td>
 </tr>

 <tr>
   <?php
 if(count($array)>0) {
                ?>
    <td rowspan="2"><img src='<?= $array[0] ?>' alt='' /></td>
 <?php } ?>
    <td><?= $NewsHeader ?></td>
 </tr>
 <tr>
    <td><?= $NewsStart ?> </td>
 </tr>

<?php } ?>
</table>

ただし、これも明確ではありません。テンプレート エンジンを使用することをお勧めします。必要に応じて、vars を Smarty に割り当てたコードを投稿し、Smarty テンプレートでプレゼンテーションを出力できます

于 2013-03-29T22:51:39.743 に答える