ここには非常に基本的なSlideshow-from-PHPアプリケーションがあります。それは簡単に変更または構築することができます。イメージ名(file_name
)がデータベースから取得され、イメージsrc値のJavaScript配列にプッシュされます。自分のイメージディレクトリと一致するイメージディレクトリ(イメージが実際に格納されている場所)も指定してください。スライドショーが自動再生するので、簡単な画像プリローダーが含まれています。
<?php
$conn = new mysqli('localhost', 'root', 'password', 'images')
or trigger_error('Connection failed.', E_USER_NOTICE);
}
$conn->set_charset('utf8');
$paths = [];
$dir = "./pics"; // images directory (change to suit)
$stmt = $conn->prepare("SELECT `file_name` FROM `images`");
$stmt->execute();
$stmt->bind_result($file);
while ($stmt->fetch()){
$paths[] = $dir . "/" . $file;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Slideshow from PHP</title>
</head>
<body>
<div>
<!-- may set first image src in markup so initially visible -->
<img id="slide" src="./pics/image1.jpg" alt="slideshow">
</div>
<script>
var time = 5000, // time between images
i = 0, // index for changing images
images = [], // array of img src from PHP
preloads = [], // array of preloaded images
slide = document.getElementById("slide");
images = <?php echo json_encode($paths); ?>; // from PHP to Js array
var len = images.length;
function changeImg(){
slide.src = preloads[i].src;
if (++i > len-1){
i = 0;
}
setTimeout(changeImg, time);
}
function preload(){
for (var c=0; c<len; c++){
preloads[c] = new Image;
preloads[c].src = images[c];
}
}
window.addEventListener("load", function(){
preload();
setTimeout(changeImg, time);
});
</script>
</body>
</html>
Welcome to StackOverflow!ご質問を投稿する前に、問題を調査し、解決しようとしていることが予想されます。あなたはまだ特定の問題がある場合、あなたはこれまでに試したことの詳細を含む特定の質問を投稿することができます。 [Stack Overflowユーザーの研究努力の程度](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)と[ [良い質問をするにはどうすればいいですか](https://stackoverflow.com/help/how-to-ask) – FluffyKitten