我想创建一个弹出窗口来显示从我的数据库中检索到的图像
到目前为止,我的查询显示了数据库中的数据,但是如何在用户点击链接时创建弹出链接以显示图像?
$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>";
答案 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
。