sql >> Database >  >> RDS >> Mysql

Hoe toon ik afbeeldingen uit de MySQL-database in een JavaScript-afbeeldingsschuifregelaar?

Hier is een zeer eenvoudige Slideshow-from-PHP-toepassing. Het kan eenvoudig worden gewijzigd of verder worden opgebouwd. Afbeeldingsnamen (file_name ) worden uit de database gehaald en vervolgens in een JavaScript-array met src-waarden voor afbeeldingen geduwd. Zorg ervoor dat u ook de map met afbeeldingen opgeeft (waar de afbeeldingen daadwerkelijk worden opgeslagen) zodat deze overeenkomt met die van u. Een eenvoudige voorlader voor afbeeldingen is inbegrepen, aangezien de diavoorstelling automatisch wordt afgespeeld.

<?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>



  1. Invoegen in tabel met behulp van matrixmethode met bovenliggende ID

  2. Mysql dubbele externe sleutel beperking

  3. Geo Django mac OS X

  4. orakel kies uit meerdere tabellen