来自SQL查询的PHP不完整结果表

来自SQL查询的PHP不完整结果表

我是Web开发的新手,并开始学习CRUD。

我的问题是,虽然我成功地在第一行上显示了列出3个产品的表,但在第二行上缺少了4号产品,并跳到了5号产品,并且每最后3行都保持缺失。

function getData(){
    global $connect;
    $query = "SELECT id, name, category, price, image, info FROM product_data";
    $results = mysqli_query($connect, $query) or die(mysql_error());
    echo "<table border = 0 >";
    $x=1;
    echo "<tr class='homepagetable'>";
    while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
        if($x<=3){
            $x = $x + 1;
            extract($row);
            echo "<td class='homepagetable'>";
            echo "<a href=itemdetails.php?id=$id>";
            echo '<img src=img/' . $image . ' style="max-width:220px;max-height:240px;width:220px;height:240px;"></img><br/>';
            echo '<div class="truncate">'. $name .'</div><br/>';
            echo "</a>";
            echo 'Rp.'.$price .'<br/>';
            echo "</td>";
        } else {
            $x=1;
            echo "</tr><tr>";
        }
    }
        echo "</table>";
    }


提前致谢!

最佳答案

您的问题是您的条件有误:

if($x <=3)... else{...}


将if / else更改为此:

if($x <3){$x++;}

//...do something

if($x == 3){
 $x = 1;
 //Close and open tr
 }


您需要关闭<img>标记,并关闭循环外的最后一个<tr>标记

关于php - 来自SQL查询的PHP不完整结果表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38979982/

10-09 05:59