如何将sql数据放入php表中

时间:2016-05-15 13:03:35

标签: php html mysql

我正在尝试在php中创建三个列,从每个图像下的数据库中显示图像,应该有图像的描述。该描述也是从数据库中检索的。我的代码现在适用于图像部分,它显示三个彼此相邻的图像,然后在新行中显示接下来的三个图像,依此类推。

但是我想要这样的东西:

图像图像图像
DESC DESC DESC
图像图像图像
DESC DESC DESC

当我取消注释第26行时

<br/>
( //echo "< td style='background-color:#FF0004'>" . $data. "</td>";)
<br/>

我得到了像这样的图像旁边的描述

图像DESC图像DESC图像DESC
图像DESC图像DESC图像DESC

我也尝试启动并创建新行&lt; TR&GT;&LT; TD&GT;&LT; / TR&GT;&LT; / TR&GT; 在第50行之后,当图像行被关闭并再次获取sql数据但只得到了desc但是当我这样做时我没有得到结果(我100%确定我的sql中有数据)。如何使描述位于图像上方而不是图像旁边

function getImg(){
    $conn = connect(); 

    if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) {
        $startrow = 0;
    } else {
        $startrow = (int)$_GET['startrow'];
    }

   $sql = "SELECT * FROM draft LIMIT $startrow, 6";
   $getdata = mysqli_query($conn,$sql) 
        or die(mysqli_error());

    $cell_img = mysqli_num_rows($getdata);
    $i=0;
    $per_row = 3; 
    echo "<table><tr>";

    while ($row=mysqli_fetch_assoc($getdata)) {
        echo "<td><img src='".$row['image']."'/ ></td>";
        $data = $row['desc'];  
        //echo "<td style='background-color:#FF0004'>" . $data. "</td>";

        if (++$i % $per_row==0 && $i >0 && $i <$cell_img) {
            echo "</tr><tr>"; 
        }                
    }

    echo "<tr>";
    echo "</tr>";

    for ($x=0; $x<$per_row-$i % $per_row; $x++) {  
        echo "<td></td>";       
    }

    echo "</tr>";
    echo "</table>";

    echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+5).'">Next >>></a>';
    $prev = $startrow - 5;

    if ($prev >= 0)
        echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.$prev.'"> <<<< Previous</a>';
}

1 个答案:

答案 0 :(得分:0)

使用此代码:

$data = '';
while ($row=mysqli_fetch_assoc($getdata)) {
     echo "<td><img src='".$row['image']."'/ ></td>";
     $data .= '<td>'.$row['desc'].'</td>';

     if (++$i % $per_row==0 && $i >0 && $i <= $cell_img) {
          echo "</tr><tr>$data</tr><tr>"; 
          $data = '';
     }
 }