0

我可以像下面这样以 html 形式显示图像。这些图像位于图像文件夹中

<div id="thumbs" class="navigation">
  <ul class="thumbs noscript">
  <li><a class="thumb" href="images/disease1.jpg" title="Title #0">Title #0</a></li>
  <li><a class="thumb" href="images/disease2.jpg" title="Title #1">Title #1</a></li>
  </ul>
<div>

但是我想通过根据上述格式从数据库中获取图像来在 php 文件中显示图像。我的 mysql 数据库有超过 1 个 id 的图像。所以我想根据 id 显示图像。

以下是我尝试过的。这是我的 PHP 文件:

<?php
$value=$_GET['val'];
$set_photos=mysql_query("SELECT * from photos where idProblem='$value'",$connection);

if(!$set_prob) {
    die("database query failed".mysql_error());   
}

$num_photos=mysql_num_rows($set_photos);

for($i=1;$i<=$num_photos;$i++) {
    $get_photos='<div id="thumbs"><li><a class=\"thumb"\ href=\".$photo."\ title=\"Title.$i."\>photo </a></li></div>';
}
?>

这是我试图通过运行上述 PHP 文件来显示图像的 PHP 文件:

<div id="thumbs" class="navigation">
<ul class="thumbs noscript">
<?php echo $get_photos; ?></ul></div>

我试图找出这里出了什么问题。如何解决这个问题?

4

3 回答 3

0

如果我理解正确,您需要在将它们从数据库中拉出时显示它们:

这只是覆盖变量$get_photos

for($i=1;$i<=$num_photos;$i++) {
$get_photos='
    <div id="thumbs">
        <li>
            <a class=\"thumb"\ href=\".$photo."\ title=\"Title.$i."\>photo </a>
        </li>
    </div>';
}

改成:

echo '<div id="thumbs" class="navigation"><ul class="thumbs noscript">';

for($i=1;$i<=$num_photos;$i++) {
    echo '<li><a class="thumb" href="'.$photo.'" title="Title'.$i.'">photo </a></li>';
}

echo '</ul></div>';
于 2013-10-19T13:50:03.747 回答
0

嗨试试下面的代码它解决了你的问题:)

<?php
$value=$_GET['val'];
$set_photos = mysql_query("SELECT * from photos where idProblem='".$value."'", $connection);

$liList = '';
$ind = 0;
if(mysql_num_rows($set_photos))
{
    while($row = mysql_fetch_assoc($set_photos))
    {
        $liList .= '<li><a class="thumb" href="'.$row['YOUR_IMAGE_PATH_FIELD_NAME'].'" title="Title #'.$ind.'">Title #'.$ind.'</a></li>';
        $ind++;
    }
}
?>

<div id="thumbs" class="navigation">
    <ul class="thumbs noscript">
    <?php echo $liList; ?>
    </ul>
</div>
于 2013-10-19T13:55:18.697 回答
0

检查查询是否返回行,因为似乎 for 语句没有执行

于 2013-10-19T14:04:54.897 回答