0

次のPHPコードがあります。

$getnews = mysql_query("SELECT * FROM news ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_assoc($getnews)) {
  $id = $row['id'];
  $title = $row['title'];
  $body = $row['body'];
  $date = $row['date'];
  echo "<div class=\"title\">$title</div><br>";
  echo nl2br($body);
  echo "<br><div class=\"date_time\">".time_ago($date)."</div>";
  echo "<hr>";
}

これはニュース フィードの作成に使用され、echo を使用して更新内容を出力します。現在行っている方法の代わりに、リストを使用して各更新を印刷する方法はありますか?

または、while ループが作成する各更新の周りに div を作成することは可能ですか?

質問が明確でない場合は申し訳ありませんが、すべての助けに感謝します!

私のニュースフィードは、twitter のようなニュースフィードで更新を作成します。各更新は echo を使用して出力され、


. 各更新のレイアウト全体のリストまたは div を作成できる方法を見つけようとしています。各更新で何が起こっているのかを整理するのは非常に難しいと思います。

4

1 に答える 1

1

次のコードでそこにたどり着くはずです。表示したいようにhtmlをエコーアウトするだけです。

$getnews = mysql_query("SELECT * FROM news ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_assoc($getnews)) {
    $id = $row['id'];
    $title = $row['title'];
    $body = $row['body'];
    $date = $row['date'];
    echo "<div class='news-article'>";
    echo "<div class=\"title\">$title</div><br>";
    echo nl2br($body);
    echo "<br><div class=\"date_time\">".time_ago($date)."</div>";
    echo "</div>";
    echo "<hr>";
}

多くの場合、そのような多くのエコーステートメントは、あなたがやろうとしていることを混乱させるだけです.

$getnews = mysql_query("SELECT * FROM news ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_assoc($getnews)) {
    $id = $row['id'];
    $title = $row['title'];
    $body = $row['body'];
    $date = $row['date'];
    ?>
    <div class='news-article'>
    <div class="title"><?php echo $title ?></div><br>
    <?php echo nl2br($body); ?>
    <br><div class="date_time"><?php echo(time_ago($date)) ?></div>
    </div>
    <hr>
    <?php
}

順序付けられていないリストと同じことを達成したい場合は、これを行います。

$getnews = mysql_query("SELECT * FROM news ORDER BY id DESC") or die(mysql_error());
echo "<ul class='article-list'>";
while ($row = mysql_fetch_assoc($getnews)) {
    $id = $row['id'];
    $title = $row['title'];
    $body = $row['body'];
    $date = $row['date'];
    ?>
    <li class='news-article'>
    <div class="title">$title</div><br>
    <?php echo nl2br($body); ?>
    <br><div class="date_time"><?php echo(time_ago($date)) ?></div>
    </li>

    <?php
}
echo "</ul>";
于 2013-05-13T02:55:44.840 に答える