从PHP代码创建弹出图像

时间:2014-03-27 18:47:02

标签: php

我想创建一个弹出窗口来显示从我的数据库中检索到的图像

到目前为止,我的查询显示了数据库中的数据,但是如何在用户点击链接时创建弹出链接以显示图像?

$dbQuery="SELECT * FROM images WHERE user_id = '$userID' ";

$dbResult=mysqli_query($db_connection, $dbQuery) or die (mysqli_error($db_connection));
echo "<table cellspacing=\"5\" class=\"recordsTableBG\"> <thead      
    class=\"recordsTableHeader\">";
echo '<tr><th>ID</th><th>Amount</th><th>Description</th><th>Filename</th> 
    <th>Project ID</th><th>Status</th></tr></thead>';
echo '<tr class="alternateRowColor">';
    '<tr>';
while ($dbRow=mysqli_fetch_array($dbResult)){

    echo "<img src = 'uploaded/$image' width = '200' height = '200'>";
    // display row with expense
    echo '<td>'. $dbRow['id'] .'</td>';
    echo '<td>'. $dbRow['user_id']. '</td>';
    echo '<td>'. $dbRow['image']. '</td>';
}
echo "</table>";
echo "</form>";            

1 个答案:

答案 0 :(得分:0)

使用PHP完成它将是额外的工作。如果您使用“ID”唯一标识每个图像,则需要回显链接以及id和user_id。它会是这样的:

while ($dbRow=mysqli_fetch_array($dbResult)){

    echo "<img src = 'uploaded/$image' width = '200' height = '200'>";
    // display row with expense
    echo '<td>'. $dbRow['id'] .'</td>';
    echo '<td>'. $dbRow['user_id']. '</td>';
    echo '<td><a href='.$_SERVER['PHP_SELF'].'?imageid='.$dbRow['id'].'>
    Click here to view image</a></td>';

}

这会打开一个新页面。如果您想要弹出窗口,则需要在链接上使用javascript:window.open()方法。请注意,除$_SERVER[PHP_SELF]之外还有其他更好的方法。您的想法是需要将ID附加到您想要的链接作为GET参数。

在新页面上,您需要包含足够的功能,以便使用ID从数据库中检索记录,并以与您编写相同的方式显示图像。

这不是最好的方法。根据我的最好方法是“使用javascript并显示一个div(最初隐藏)与页面上的其他内容重叠(最高Z-index),可以将其设置为带有关闭按钮的窗口。诀窍是单击链接时显示div show,然后点击关闭按钮时返回hide