使用PHP抓取并回显多个SQL行


Grab and echo out multiple SQL rows with PHP

我想用新闻文章信息填充数据库,如PostID、PostTitle、PostDescription、PostContent等等-我试着写一些代码来不断地回显SQL查询中的数据,但它只适用于查询获取的第一行

$SQL = "SELECT * FROM posts"; // get all info from posts
$result = mysql_query($SQL);        
$row = mysql_fetch_array($result);
if (mysql_numrows($result) > 0) {
    $row = mysql_fetch_array($result);
    $Title = $row["PostTitle"];
    $Description = $row["PostDescription"];
    $Date = $row["PostDate"];
    $AuthorID = $row["AuthorID"];
    echo "<div id='preview'>";
        echo "<div class='group selection'>";
            echo "<div class='col span_1_of_3'>"; 
                echo "<div id='previewmedia'>";
                echo "</div>";                        
            echo "</div>";
            echo "<div class='col span_2_of_3'>";
                echo "<h1>".$Title."</h1>";
                echo "<p class='preview'>".$Description."</p>";
                echo "<a href='bloglayout.php' class='orange readmore'>Read More...</a>";
            echo "</div>";
        echo "</div>";
    echo "</div>";                       
}

然后我想做一个SELECT查询,然后计算表中ID的数量,然后将其设置为$ID,然后给每个变量一个数字,然后在每个循环后加1,但我意识到这不起作用,所以我有点纠结于如何从数据库中自动循环出几行。

此外,我知道我不应该在PHP中使用mysql_numrows之类的东西,我应该转到mysqli或PDO,但这是为了让我专门使用mysql。

您只获取一行。尝试循环查看您的结果。

$SQL = "SELECT * FROM posts"; // get all info from posts
$result = mysql_query($SQL);        
while( $row = mysql_fetch_array($result);)
{
    $Title = $row["PostTitle"];
    $Description = $row["PostDescription"];
    $Date = $row["PostDate"];
    $AuthorID = $row["AuthorID"];
    echo "<div id='preview'>";
        echo "<div class='group selection'>";
            echo "<div class='col span_1_of_3'>"; 
                echo "<div id='previewmedia'>";
                echo "</div>";                        
            echo "</div>";
            echo "<div class='col span_2_of_3'>";
                echo "<h1>".$Title."</h1>";
                echo "<p class='preview'>".$Description."</p>";
                echo "<a href='bloglayout.php' class='orange readmore'>Read More...</a>";
            echo "</div>";
        echo "</div>";
    echo "</div>";                       
}