store pics from api in db

This commit is contained in:
lukas-heiligenbrunner 2020-04-04 19:44:31 +02:00
parent 9a8d2dea0b
commit 177e267e18
4 changed files with 53 additions and 26 deletions

View File

@ -14,6 +14,21 @@ class Req {
xhttp.send(data); xhttp.send(data);
} }
static postData(url, data, callback) {
const xhttp = new XMLHttpRequest();
xhttp.open("POST",url,true);
xhttp.onload = function(){
if (this.readyState == 4 && this.status == 200) {
callback(xhttp.responseText);
}
}
xhttp.onerror = function () {
console.log("error")
};
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(data);
}
static get(url, callback) { static get(url, callback) {
const xhttp = new XMLHttpRequest(); const xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function(){ xhttp.onreadystatechange = function(){

View File

@ -1,22 +1,22 @@
Req.ready(() => { Req.ready(() => {
Req.post("php/index.php", "action=getMovies&test=2", function (dta) { // Req.post("php/index.php", "action=getMovies&test=2", function (dta) {
console.log(dta); // console.log(dta);
for (const ii in dta.data) { // for (const ii in dta.data) {
document.getElementsByClassName("mediawrapper").item(0).insertAdjacentHTML('beforeend', ` // document.getElementsByClassName("mediawrapper").item(0).insertAdjacentHTML('beforeend', `
<div class="mediatile">${dta.data[ii].url}</div>`); // <video controls src="${dta.data[ii].url}"></video> // <div class="mediatile">${dta.data[ii].url}</div>`); // <video controls src="${dta.data[ii].url}"></video>
} // }
// });
//
// Req.post("php/index.php", "action=storePic", function (dta) {
// console.log(dta);
// });
console.log("startup")
Req.postData("php/index.php", "action=readPic", function (dta) {
document.getElementById("tempici").src = dta;
}); });
Req.post("php/index.php", "action=storePic", function (dta) { // Req.post("php/index.php", "action=getDbSize", function (dta) {
console.log(dta); // console.log(dta);
}); // });
Req.post("php/index.php", "action=readPic", function (dta) {
console.log(dta);
document.getElementById("tempici").src = dta.data;
});
Req.post("php/index.php", "action=getDbSize", function (dta) {
console.log(dta);
});
}); });

View File

@ -1,11 +1,12 @@
<?php <?php
require 'Database.php';
class Movie class Movie
{ {
private $apikey = "9fd90530b11447f5646f8e6fb4733fb4"; private $apikey = "9fd90530b11447f5646f8e6fb4733fb4";
private $baseurl = "https://api.themoviedb.org/3/"; private $baseurl = "https://api.themoviedb.org/3/";
private $posterbase = "https://image.tmdb.org/t/p/w500";
public function reindexMovies() public function reindexMovies()
@ -17,15 +18,26 @@ class Movie
foreach ($dir as $i) { foreach ($dir as $i) {
echo "$i\n"; echo "$i\n";
if($i != "." && $i != ".."){ if ($i != "." && $i != "..") {
$reply = json_decode(file_get_contents($this->baseurl . "search/movie?api_key=" . $this->apikey . "&query=" . $i)); $reply = json_decode(file_get_contents($this->baseurl . "search/movie?api_key=" . $this->apikey . "&query=" . pathinfo($i)['filename']));
if($reply->total_results == 0){ if ($reply->total_results == 0) {
// no results found // no results found
// todo maybe parse first pictures somehow // todo maybe parse first pictures somehow
}else{ } else {
echo json_encode($reply->results[0]);
$image_base64 = base64_encode(file_get_contents($this->posterbase . $reply->results[0]->poster_path));
$image = 'data:image/jpeg;base64,' . $image_base64;
// Insert record
$conn = Database::getInstance()->getConnection();
$query = "insert into Movie(name,url,poster) values('" . pathinfo($i)['filename'] . "','/data/$i','" . $image . "')";
if ($conn->query($query) === TRUE) {
echo('{"data":"successfully created entry"}');
} else {
echo('{"data":"' . $conn->error . '"}');
}
} }
echo json_encode($reply);
} }
} }
} }

View File

@ -39,12 +39,12 @@ if (isset($_POST['action'])) {
} }
break; break;
case "readPic": case "readPic":
$query = "SELECT * FROM temppic WHERE id='5'"; $query = "SELECT * FROM Movie WHERE movieid='3'";
$result = $conn->query($query); $result = $conn->query($query);
$row = $result->fetch_assoc(); $row = $result->fetch_assoc();
echo('{"data":"' . $row["data"] . '"}'); echo($row["poster"]);
break; break;
} }