我是学生,我有一个项目要做,我们在MySql中创建了一个名为Video_Game_Shop的数据库。然后我们必须使用PHP和HTML将它连接到一个网站。我们必须在一个页面上显示列出的数据库中的所有游戏。所以我们通过调用按价格订购游戏的程序来做到这一点。这就是我遇到问题的地方。我们现在需要在页面上显示每个游戏的图像。到目前为止,我已经完成了下载图片,我们列出的每一款游戏,我都不知道如何完成这项任务。我听说过输入图像路径或使用BLOB文件类型的一些方法,但我不知道该怎么做。我将添加PHP文件,以便您更容易理解我的情况。如果你能帮助我,我将非常感激。 :)
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"/>
<style>
h1 {font-family:Serif; font-size:22px; text-align:center}
p {font-family:Serif; font-size:16px}
.container {
width: 100%;
clear: both;
opacity: 1
}
input[type=number] {
border:2px #ffo;
opacity:0.2}
input[type=text] {
border:2px #ff0;
opacity:0.2}
input[type=date] {
border:2px #ff0;
opacity:0.2}
</style>
<h1>videogames</h1>
<head>
<title>videogames</title>
<link rel="stylesheet" href="css/table.css" type="text/css" />
</head>
<body background="http://i.imgur.com/yGkEuwZ.jpg">
<?php
require_once 'user.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname",
$username, $password);
// execute the stored procedure
$sql = 'CALL List_game_by_price()';
$q = $conn->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);
} catch (PDOException $pe) {
die("Error occurred:" . $pe->getMessage());
}
?>
<div class="container">
<table border="1" align="center" width="90%">
<tr>
<th>GameID</th>
<th>Name/th>
<th>Developer</th>
<th>Publisher</th>
<th>ESRB</th>
<th>Relase Date</th>
<th>Platform</th>
<th>Genre</th>
<th>Language</th>
<th>Price</th>
</tr>
<?php while ($r = $q->fetch()): ?>
<tr>
<td><?php echo $r['GameID'] ?></td>
<td><?php echo $r['Name'] ?> </td>
<td><?php echo $r['Developer'] ?></td>
<td><?php echo $r['Publisher']?></td>
<td><?php echo $r['ESRB'] ?></td>
<td><?php echo date_format ($r['Relase Date']) ?></td>
<td><?php echo $r['Platform'] ?></td>
<td><?php echo $r['Genre'] ?></td>
<td><?php echo $r ['Language'] ?></td>
<td><?php echo $r['Price'] ?></td>
</td>
</tr>
<?php endwhile; ?>
</table>
</div>
</body>
</html>
答案 0 :(得分:3)
在不更改数据库的情况下快速解决方案是将图像上传到FTP并重命名为其名称以匹配GameID。
示例:将您的Mass-Effect2_600x400.jpg更改为1.jpg。
在你的获取中(你从基地显示数据)只需添加另一个类似的东西
<td><?php echo '<img src="path/to/'.$r['GameID'].'.jpg" />' ?></td>
答案 1 :(得分:0)
您可以使用cols [ID Primary Key],[Url]创建资产表。在产品表AssetID上创建外键。这样,每个图像URL只有一条记录,多个产品可以使用该图像。
将文件上传到FTP并将记录插入资产表。
如果您真的想超越任务,可以从“管理”面板为产品创建图像上传。上载时将路径插入资产表并将AssetID分配给产品。
答案 2 :(得分:0)
将图像上传到ftp,在列中输入图像名称,然后在查询中调用它。可能有点变通方法,但效果很好!
<td><img src="path/to/<?= $r['GameID'] ?>.jpg" /></td>