Данные базы данных MySQL в столбце ограничения таблицы HTML - PullRequest
0 голосов
/ 14 июня 2011

Мой скрипт извлекает изображения из базы данных и отображает изображения в таблице.Я хочу, чтобы в таблице было 4 столбца изображений, прежде чем она разбивает строку и начинается заново.Я нашел несколько полезных ответов на этом форуме, но после реорганизации и суеты с кодом он отображает каждое изображение в своей собственной таблице, а не добавляет разрывы строк после каждого четвертого изображения.Я мало сплю, но, надеюсь, вторая пара глаз поможет мне определить проблему.

<?php
include_once "connect.php";
$userid = $_SESSION['id'];
$albumid = $_GET['album'];
$pic = mysql_query("SELECT * FROM `pictures` WHERE userid='$userid' AND
albumid='$albumid'");
$i = 0;
echo "<center><table width='50%'><tr>";
while($row = mysql_fetch_assoc($pic)){
$id = $row["id"];
$thumbnail = $row["thumbnail"];
echo "<td><a href='viewphoto.php?photo=$id'><img src='$thumbnail'>  
</a></td>";
if ($i && $i%4 == 0) echo '</tr><tr>';
$i++;
echo "</tr><tr>";
}
echo "</table> </center>";
?>

Немного повозился и

while($row = mysql_fetch_assoc($pic)){
$id = $row["id"];
$thumbnail = $row["thumbnail"];
if ($i && $i%4 == 0) echo '</tr><tr>'; 
$i++;
echo "<td><a href='viewphoto.php?photo=$id' rel='facebox'><img src='$thumbnail'>
</a></td>";}

сработало как шарм.

Ответы [ 2 ]

2 голосов
/ 14 июня 2011

Проблема в том, что вы объявляете свою таблицу внутри цикла while. Вы должны открывать и закрывать теги таблицы с обеих сторон цикла while, и в цикле должны быть только tr и td.

Здесь также есть пара взаимозаменяемых имен переменных, которые могут вызвать неожиданное поведение. В вашем SQL-запросе я думаю, что вы имеете в виду ... albumid = '$ albumid' ... а в цикле while я думаю, что вы хотите while ($ row = mysql_fetch_assoc ($ pic)) {

Кроме того, вы должны принять к сведению, что этот SQL-запрос открыт для SQL-инъекций

1 голос
/ 14 июня 2011

$ Я был инициализирован внутри цикла.и таблицу тоже вывезти наружу.

см. код ниже.

     <?php
        include_once "connect.php";
        $userid = $_SESSION['id'];
        $albumid = $_GET['album'];
        $pic = mysql_query("SELECT * FROM `pictures` WHERE userid='$userid' AND
        albumid='$pic'");
       $i = 0;
    echo "
    <center><table width='50%'><tr>";

        while($row = mysql_fetch_assoc($image)){
    $id = $row["id"];
    $thumb = $row["thumb"];
    $date = strftime("%b %d, %Y", strtotime($row['date']));
    echo "<td><img src='$thumbnail'></td>";

    if ($i && $i%4 == 0) echo '</tr><tr>';
      $i++;
    }
    echo "</table> </center>";
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...