你好我的同事编码好友。
我需要一些帮助,我遇到了这个问题。 我有这个数据库,我想通过JS将这些数据反转到我的代码中。
我的数据库信息:
create table datadatabase (
id int(10) not null AUTO_INCREMENT PRIMARY KEY,
name varchar(25) not null default '',
text longtext(25) not null default '',
image blob not null );
我希望数据进入这些领域。
<img src="<?php echo $img ?>"/>
<h3> <?php echo $text.','.$name ?> </h3>
但问题是,文字&amp;图像是一个滑块,每当有一个功能点击“下一步”按钮时,我想要检索新数据 ID应该是随机的,因此第一张幻灯片可以是id 99,下一张幻灯片可以是158,依此类推。
$('.Next').click(function(e) {
e.preventDefault();
Slide.appendSlide('<img src"<?php echo $img ?>"/><h3> </h3>')
})
我该如何处理? 非常感谢你。 :)
答案 0 :(得分:1)
首先,将图像存储在数据库中并不是一个好习惯,但如果要这样做,则需要创建一个脚本,从db(即ID)输出特定图像,然后输出原始图像。具有特定内容类型的数据。 (我还建议在其中一个数据库字段中插入图像类型)。
url:/image.php?id = 5 的 image.php 强>
<?php
$id = isset($_GET['id'])?intval($_GET['id']):0;
$query = mysql_query("SELECT img FROM datadatabase WHERE id = '$id'");
$row = mysql_fetch_array($query);
if($type=="pjpeg")
$type="jpeg"; // the type could change depending on the database image type
header("Content-type:$type");
echo $row['image'];
?>
对于其他字段,只需像往常一样读取数据库。结果:
<img src="http://..../image.php?id=<?php echo $id ?>"/>
<h3> <?php echo $text.','.$name ?> </h3>
$('.Next').click(function(e) {
e.preventDefault();
Slide.appendSlide('<img src"http://..../image.php?id=<?php echo $id?>"/><h3> </h3>')
});
建议在上传之前实现缓存和图像大小调整,以避免服务器负载。
还有其他一些方法,比如base64。我更喜欢自己使用带有图像元数据的文件系统,而不是仅使用数据库进行图像存储,以使其可扩展。
答案 1 :(得分:-1)
Insert.php:
$bin_string = file_get_contents($_FILES["file"]["name"]);
$mysqli->query("INSERT INTO upload(image) VALUES ('" . $bin_string . "')");
Retrieve.php?id = 1:
$result = $mysqli->query("SELECT * FROM upload id=1");
$output_bin_string = $result["image"];
header("Content-Type: image/png");
header("Content-Length: " . strlen($output_bin_string ));
echo $output_bin_string;
通过Js访问:
<img src="Retrieve.php?id=1" />