这似乎是一件很简单的事情,但由于某些原因,我无法让它发挥作用。
我有一个存储车辆数据的数据库。 (二手车(我正在开发汽车经销商网站))。
我成功地显示了没有图像的数据库结果。
每条记录的图像都不存储在数据库中,而是将它们转储到目录中的服务器上,这些图像仅在数据库中引用。
如果我回显图像名称,它可以正常工作,如果我回显实际图像,如果你查看图像信息,路径是正确的。但在信息中它表明图像是文本。我不知道如何改变它。
请查看下面的一些代码。
<?php
$dbName = "F:/Domains/autodeal/autodeal.co.za/wwwroot/newsite/db/savvyautoweb.mdb";
// Throws an error if the database cannot be found
if (!file_exists($dbName)) {
die("Could not find database file.");
}
// Connects to the database
// Assumes there is no username or password
$conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$dbName", '', '');
//this is selecting individual records
$selected_id = intval($_GET['Id']);
//this is the query
$sql = "SELECT Id, Make, Model, Year, Price, SpecialPrice, Branch, StockNO, MainPic FROM Vehicle WHERE Id = $selected_id";
// Runs the query above in the table
$rs = odbc_exec($conn, $sql);
$id = odbc_result($rs, Id);
$make = odbc_result($rs, Make);
$model = odbc_result($rs, Model);
$mainPic = odbc_result($rs, MainPic);
//this is a failsafe for when there are no images for a specific record
$no_image = "<a href='db/Nopic.gif' data-lightbox='nopic' title='No Image Available'><img src='db/Nopic.gif' /></a>";
//This successfully displays the name of the image referenced in the database
$main_pic = "<img src='db/vehicleImages/'" .$mainPic. "/>";
//this is supposed to display the actual
echo $main_pic . "<br />";
echo $no_image;
odbc_free_result($rs);
odbc_close($conn);
// This message is displayed if the query has an error in it
if (!$rs) {
exit("There is an error in the SQL!");
}
?>
非常感谢任何有关方面的帮助。
谢谢。 :)
答案 0 :(得分:0)
你应该在html对象的属性周围使用引号(看起来你可能通过你的方法破坏了东西):
你的:
<a href=db/Nopic.gif data-lightbox=nopic title=No Image Available><img src=db/Nopic.gif /></a>
正确的:
<a href='db/Nopic.gif' data-lightbox='nopic' title='No Image Available'><img src='db/Nopic.gif' /></a>
这是否能解决您的问题取决于您的回复:p
答案 1 :(得分:0)
用户在图像路径前面的正斜杠。这样,您可以确保图像路径始终从根文件夹开始。图像路径相对于执行的php脚本的位置。
例如,如果您的script.php
文件位于文件夹/root/some_folder/script.php
中并且您使用图像路径db/vehicleImages/image.jpg
,则脚本将从同一文件夹中开始路径,从而导致这样的路径/root/some_folder/db/vehicleImages/image.jpg
。
如果您在路径前面使用正斜杠(例如/db/vehicleImages/image.jpg
),它会告诉脚本从根文件夹开始,如/root/db/vehicleImages/image.jpg
。
我认为这是你的脚本的情况 - 你给它错误的路径导致找不到文件。