显示偶数和奇数SQL结果(PHP)

时间:2014-08-06 02:19:22

标签: php html mysql css sql

我有一个PHP while循环,它从SQL数据库中提取并在包含两列的表中显示内容。         

// Check Connection
    if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

// Select Data Table
    $result = mysqli_query($con,"SELECT * FROM Recommendations") or die(mysqli_error);

// Split Data
    $mid = ceil(mysqli_num_rows($result)/2);

// Display Content
    while ($rows = mysqli_fetch_array($result)) {
        $Name = $rows['Name'];
        $Author = $rows['Author'];
        $Cover = $rows['Link to Cover'];
        $Link = $rows['Link to Profile'];
    echo "<table><tr><td>
    <a href='" . $Link . "' >".$Name."</a>
    <br />".
    $Author.
    "<br />
    <a href='" . $Link . "' ><img src='" . $Cover . "' /></a>
    </td>
    <td>
    <a href='" . $Link . "' >".$Name."</a>
    <br />".
    $Author.
    "<br />
    <a href='" . $Link . "' ><img src='" . $Cover . "' /></a>
    </td></tr></table>";
    }
?>

我希望能够以两列的形式并排显示循环结果。

ex. 1 2
    3 4
    5 6

我尝试使用伪类在不同的表列中仅显示偶数和奇数结果,但老实说不知道如何执行此操作。我是PHP的新手,所以如果结果非常明显,我很抱歉。提前谢谢!

2 个答案:

答案 0 :(得分:1)

我将向您展示一个简单的选项来分割偶数和奇数。

foreach($numbers as $n) {
    ($n % 2 == 0) ? array_push($e, $n): array_push($o, $n);
}

以上是short-hand ternary operator?:

上述功能将检查数字是偶数还是奇数。它将偶数/奇数值存储在它们自己的单独数组中,在这种情况下,偶数为 $e ,奇数为 $o

如果你想看看它是如何运作的,Check this Example Out.


使用上面的例子,你会做这样的事情( AS PSEUDO CODE

WHILE(ROW = MYSQL.FETCH(DATA)) {
    MYDATA[] = ROW;
}

// now we do presentation
FOREACH(MYDATA AS ITEM) {
    IF(ITEM.NUMBER % 2 == 0) {
        PRINT EVEN.INFORMATION;       
    } ELSE {
        PRINT ODD.INFORMATION;
    }
}

答案 1 :(得分:1)

没有CSS:利用模数函数%,它返回除法的余数。奇数#s返回1,甚至返回0.因此对于奇数开始一行,偶数数字结束一行。

    echo "<table>";
    $i = 1;
    // Display Content
while ($rows = mysqli_fetch_array($result)) {
    $Name = $rows['Name'];
    $Author = $rows['Author'];
    $Cover = $rows['Link to Cover'];
    $Link = $rows['Link to Profile'];
    if ($i % 2 == 1) {
        echo "<tr>";
    }
    echo "<td>
    <a href='" . $Link . "' >$Name</a>
    <br />
    $Author
    <br />
    <a href='" . $Link . "' ><img src='" . $Cover . "' /></a>
    </td>
    <td>
    <a href='" . $Link . "' >$Name</a>
    <br />
    $Author
    <br />
    <a href='" . $Link . "' ><img src='" . $Cover . "' /></a>
    </td>";
    if ($i % 2 == 0) {
        echo "</tr>";
        $i ++;
    }
}