我试图通过链接点击显示我的图像。但是,当我点击链接时,它会找到url链接中显示的图像ID,但不会显示任何图像。你能帮忙吗?
<?php
//sets up thisPage
$pageSize=10;
if (isset($_POST["thisPage"])) $thisPage=$_POST["thisPage"];
else $thisPage=1;
//selects all distinct expenses that have been uploaded
$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><a href='.$_SERVER['PHP_SELF'].'?imageid='.$dbRow['id'].'>
Click here to view image</a></td>';
}
echo "</table>";
echo "</form>";
?>
<!-- add submitt button
close form -->
</div>
答案 0 :(得分:0)
这里有两种混合方法,这就是混乱所在。
首先,注意你的
<img src='uploaded/$image' width = '200' height = '200'>
浏览器会看到类似
的内容<img src='uploaded/picture_of_cat.jpg' width='200' height='200'>
并渲染一张200px乘200px的猫图像。我假设你的缩略图。 (顺便说一句,我注意到它并未包含在<td></td>
中,即使它位于表格行中。)
在表格的另一部分,你有
<a href='.$_SERVER['PHP_SELF'].'?imageid='.$dbRow['id'].'>Click here to view image</a>
将呈现为类似
的内容<a href='http://example.com/index.php?imageid=1234'>Click here to view image</a>
当用户点击该链接时,它会向服务器发出GET
请求imageid
等于1234.服务器将使用该服务器{{1} }}?在您发布的代码中,没有。
您有两种选择:
如果您想保持链接不变,则必须编写一些代码,这些代码将采用imageid
值,找到合适的图像,然后将其返回给浏览器< strong>作为图像数据 - 这意味着设置适当的标题并将数据作为二进制数据发回。
更简单的方法是将链接中的URL替换为imageid
标记中的URL - 当用户点击它时,服务器将只返回图像