Dynamische Übertragung von Bilder von von MySQL zu HTML

Jhorst

Grünschnabel
Guten Tag,

Nach dem mir in diesem Forum so gut geholfen wurde, hoffe ich erneut auf die kompetente Hilfe eurer seits.

Ich bin völlig überfragt. Ich besitze in meiner Datenbank eine tabelle die Benutzername, Bilder(BLOB) und Timestamp speichert.

Ich möchte das wenn der User sich Einlogt dynamisch eine liste ausgegeben wird mit den zugehörigen Bildern und dem Timestamp.

Meine erste Idee war dynamisch mit PHP eine JSON datei zu erstellen und anschließend diese mit JS(jquery mobile) auszulesen und diese in HTML form umzuformen.

Das soll allerdings sehr ineffizient bzw nicht möglich sein mit JSON.

Ich würde mich sehr über kreative ideen freuen. Habe leider keinen Ansatz wie man das umsetzen könnte. Später soll das Projekt mit
Phonegab zu einer nativen App umgebaut werden weshalb nur HTML, CSS UND JS dateien erlaubt sind. Die PHP dateien interagieren auf der Server seite.

Lieber Gruß und Danke :-)
 
Hi

hmm...wozu Json und JQuery?
Annahme: Die Benutzer haben auch IDs

a) Eine ganz normale, HTML-liefernde PHP-Datei machen,
die IDs/Benutzernamen/Timestamps aus der DB abfragt
und Namen und Timestamp als HTML ausgibt.
Passend zum Design der Seite etc.etc. natürlich.

b) In der selben PHP-Datei noch weiterändern:
Zu jedem Benutzer noch ein <img>-Tag dazu ausgeben, wobei
die Bildquelle kein Bild ist, sondern eine benutzerbild.php?id=...$id...
je nach Art der DB-Abfrage bei ...$id... das Passende einsetzen,
damit jeder Benutzer bei seinem <img> seine ID stehen hat.

c) benutzerbild.php:
Bekommt per $_GET['id'] die ID:
Prüfen, ob eine übergeben wurde und ob es wirklich eine Zahl ist.
Das dazupassende Blob aus der DB holen.
Per header-Befehl angeben, dass jetzt ein Bild geschickt wird.
//Schritt d dazwischen rein
Und das Bild senden.

d) Optional, aber sehr hilfreich:
Auch per Header sinnvolle Cacheoptionen festlegen (Vorgehensweise :suchen:)
(damit nicht jedes Mal jedes Bild neu geladen werden muss).
Was "sinnvoll" ist?
Unter der Annahme, dass eine Benutzer-ID sicher immer nur diesem Benutzer gehören wird
(und auch, wenn er sich löscht, nicht neu vergeben wird) (das wäre sowieso gut):
Einfach lange. Drei Monate, eine Ewigkeit...

e) Auch optional, gehört zu b)
Wenn möglich auch in der DB speichern, welche Abmessungen das Bild hat,
und die Zahlen als width und height beim <img> mit rausschicken.
Hilft dem Browser beim besseren Anzeigen
(ohne, dass alles verschoben ist, solange die Bilder noch laden).
 
Vielen dank kann mir vorstellen was du meinst. Jetzt hab ich allerdings 1 Problem.

Es ist mir aufgrund Phonegab nicht erlaubt die in der html seite php aufrufe zu starten.
Ansonsten hätte ich <?php echo htmlspecialchars($vorname); ?> oder ähnliches in der html verwendet.

Is zwar Peinlich aber finde wirklich nichts genaueres zum Thema.

Wie schaffe ich das zum beispiel:
php teil:
Code:
echo "<li><img src="bilder.php?benutzer=Marcus"><a class="alist">"$time"</a><span>$benutzer</span></li>";

genau in meiner HTMl seite in die
html:
Code:
<section id="listview">
		<ul class="liste">
			
		</ul>
	</section>

zu bekommen. DAs is das einzigste was mich an der implementierung noch hindert......
 
Zuletzt bearbeitet:
Nun...einfach zwischen ul-Anfang und Ende <?php ...Code...?> ?

Allerdings hat deine Zeile ein ziemliches Problem mit den Anführungszeichen.
Man kann nicht einfach
echo "aaa"bbb"ccc"ddd"eee"fff";
machen.
Theoretisch sind nur zwei " erlaubt, eins für den echo-Anfang und eins für das Ende.
Als Begrenzung vom Inhalt.
Wenn der Inhalt auch " hat müssen die im PHP-Code als \" stehen.
Im HTML stehen sie dann wieder ohne \, das ist nur zur Unterscheidung von den begrenzenden "

(Viel) mehr zu Strings und ihren Anführungszeichenarten:
http://php.net/manual/de/language.types.string.php
 
Danke Sheel, allerdings is dies nicht erlaubt. Die Zeile habe ich eben schnell getippt sry.

Wenn ich das in <ul> einfüge muss ich die datei *.php umbennen damit der code funktioniert und das ist nicht möglich da ich nur html,js und css dateien verwenden darf.

Nach meinem wissen habe ich nur die möglichkeit den PHP teil auszulagern und die daten via ajax einholen muss um sie gezielt in die gewünschten tags zu platzieren. Wo wir wieder bei dem Problem stehen AJAX unterstützt kein BLOB transfer da ajax strings als rückgabewert der php datei erhält.

Verstehst du was ich meine?
 
Ach ja, diese Phonegap-Sache...

Also
*Ajax zu einem "großen" Server ist möglich.
*Wäre ein einfaches
HTML:
<img src="http://bilder.de/meinbild.jpg">
mit irgendeinem ganz normalem JPG-Bild auch möglich (so dass es vom Server geladen wird)
oder muss das schon alles vorverpackt sein?
 
Nein das such ich nicht. Die bilder befinden sich doch in einer DB also bringt mich das auch nicht weiter. Sonst noch ideen?

Hab ich mit php sonst noch möglichkeiten das echo in dieversen Tags gezielt aus zu geben ?
 
Deine tatsächlichen Bilder sind erst mal egal, die Frage ist nur,
ob dein Phonegap-Programm überhaupt irgendwas außer
Ajax vom Web holen kann.
Irgendein ganz normales Bild, auf das vom HTML aus verwiesen wird.
 
Also du meinst direkte Bild aufrufe ? sowie : <img src="http://bilder.de/meinbild.jpg"> klar das geht.

Es geht alles was mit HTML5,css3 und JS möglich is
 
Dann bleibts bei einer abgewandelten Version:

Eine PHP-Datei, die Benutzernamen, IDs und Timestaps Rihtung JS ausliefert.
Dort dann entgegennehmen, die <ul> zuerst schon mit einer id versehen
und dann über die ID mit JS zugreifen.
Neue Listeneintrage mit dem Test und <img>-Tags reinerzeugen.

Ddas ausliefern von den Bilder bleibt gleich.
Eine PHP-Datei, die statt Jpg-Irgendwas im Bild-scr steht
und über die Benutzerid ein Bild liefert.
Bildheader, Cacheheader.
 

Neue Beiträge

Zurück