Bild in Datenbank einfügen

Alles, was PHP betrifft, kann hier besprochen werden.

Bild in Datenbank einfügen

Postby csc » 05. January 2007 12:46

Hallo,

ich habe ein riesenproblem, für die meisten wird es wohl leicht beantwortbar sein, aber ich fand auch nach 1 stunde des suchens keine passende antwort.

Ich baue für die schule eine Datenbank, über chelsea london, ich habe bereits eine index.php dort soll nur der name des spielers stehen, wenn ich darauf klicke öffnet sich die detail.php wo der Spieler detailliert beschrieben ist. Bis dahin gings es ganz gut.

Aber es ist eben vorgeschrieben ein bild des spielers auf der detail.php zu haben, und um das zu erreichen wäre es gut in der php myadmin datenbank das bild zu importieren, doch das kriege ich nicht hin, habe schon probiert den link (c:bilder/.....), der bilder bei den einzelnen spielern einzugeben doch es wird einfach nicht angezeigt.

Bitte um Hilfe!!!
csc
 
Posts: 7
Joined: 05. January 2007 12:32

Postby KingCrunch » 05. January 2007 17:37

Das ist vermutlich nicht die Antwort, die du hören willst, aber: Lass es!!

Bilder in Datenbanken sind eine performante Katastrophe! Füg lieber in die Datenbank einen (relativen) Link zum Bild im Dateisystem ein und pack das Bild da hin.

Kurz zur Erklärung:
1. Bild liegt im Dateisystem
- PHP wird ausgeführt (Anfrage an Datenbank)
- Seite wird an Browser gesendet
- Browser verfolgt Link zum Bild und lädt es runter (und zeigt es an)

2. Bild liegt in der Datenbank
- PHP wird ausgeführt (Anfrage an Datenbank usw ^^)
- Seite wird an browser gesendet
- Browser verfolgt Link (landet jetzt bei einer php)
- PHP liest Bild aus Datenbank aus
- PHP stellt Bild wieder her
- PHP sendet Bild an Browser
- Browser zeigt es an
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby csc » 05. January 2007 17:56

Das heißt ich soll in der DB statt, dem Bild einfach den Link wo das bild liegt hinschreiben, oder?

Das habe ich bereits probiert, deshalb wäre es toll wenn mir jemand schreiben könnte wie der link aussehen soll die bilder liegen im Verzeichnis :c:\programme\xampp\phpMyAdmin\chelsea\images
csc
 
Posts: 7
Joined: 05. January 2007 12:32

Postby martinpre » 05. January 2007 18:21

du musst den INTERNETLINK verwenden!!!

kennst du das <img> tag und kennst auch seine verwendung?
und hast du den abschnitt 'abosult/relativ referenzieren' bei selfhtml gelesen & verstanden?

wenn du ein bild aufrufen willst musst du ja auch den Internetlink kennen und nicht den dateisystempfad.
martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich

Postby csc » 05. January 2007 20:22

meine datenbank ist ja gar nicht online sondern nur lokal auf meinem rechner, deshalb kann ich keinen internetlink verwenden
csc
 
Posts: 7
Joined: 05. January 2007 12:32

Postby Wiedmann » 05. January 2007 20:33

meine datenbank ist ja gar nicht online

Wie willst du eine Datenbank die "offline (sprich: aus) ist, verwenden?

sondern nur lokal auf meinem rechner,

BTW ist es egal auf welchem Rechner der DB-Server bzw. Webserver läuft.

deshalb kann ich keinen internetlink verwenden

Ohne Internetlink, das IMG-Tag im HTML-Quellcode, kann dir kein Browser ein Bild anzeigen.

Du hast hier halt nur 2 Möglichkeiten:
1.) Das Bild liegt im Dateisystem des Webservers und ist dort über einen "Internetlink" erreichbar. In der DB steht dann eben dieser Link (oder nur der Dateiname mit oder ohne URL-Pfad) und wird in den IMG-Tag geschrieben

2) der IMG-Tag verweist auf ein weiteres PHP-Script, welches dann das Bild aus einm BLOB-Feld in der DB ausliest und an den Browser sendet. (Bild ist direkt im DB-Server gespeichert)

In der Regel nimmt man Version 1.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby csc » 05. January 2007 20:39

die datenbank ist ein projekt für die schule, und deshalb wird sie wohl nicht ins inet gestellt.

Das heißt also ich muss die bilder in einen ordner meines webservers verschieben (apache)

Blöde Frage, aber weiß jemand welcher Ordner das ist???
csc
 
Posts: 7
Joined: 05. January 2007 12:32

Postby martinpre » 05. January 2007 22:36

oh mann ...

Was galubst du ist http://localhost/ ?? JA ES IST EIN INTERNETLINK (URI/URL)!

http://localhost/xampp/ ist ein Internetlink sowie auch http://localhost/meinbild.jpg.
martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich

Postby csc » 06. January 2007 10:39

1.) ich weiß nicht was dieses blöde "oh mann" bedeuten soll ich denke das forum heißt apache FRIENDS oder?
In all den foren in denen ich angemeldet bin wird einem geholfen, und es werden keine blöden kommentare geschoben. Jeder muss einmal klein anfangen, und es wäre gut wenn einem jemand der schon weiter ist helfen würde.

2.) Ich habe schon längst probiert einen solchen Internetlink in die DB zu schreiben. Doch die Bilder wurden trotzdem nicht angezeigt.
Deshalb würde ich noch einmal jemanden bitten der es kann mir zu beschreiben wie ich die Bilder angezeigt bekomme:
die bilder liegen in:c:\programme\xampp\phpMyAdmin\chelsea\images
soll ich sie verschieben oder, dort lassen, und wie sieht dann der link aus.

Bitte nochmals um richtige Hilfe!!!
csc
 
Posts: 7
Joined: 05. January 2007 12:32

Postby deepsurfer » 06. January 2007 11:26

1.) ich weiß nicht was dieses blöde "oh mann" bedeuten soll ich denke das forum heißt apache FRIENDS oder?
In all den foren in denen ich angemeldet bin wird einem geholfen, und es werden keine blöden kommentare geschoben. Jeder muss einmal klein anfangen, und es wäre gut wenn einem jemand der schon weiter ist helfen würde.

Dann solltest du aber auch wissen, das es in Schriftform immer anders klingt als wenn diejenige Person vor dir das "oh mann" auspricht.
Es sollte eigentlich nur deinen Gedanken Fehler unterbreiten, denn Du sprichst von einem WebServer den du Local benutzt, auch hierbei handelt es sich um so genannte Internetlinks, obwohl dieser begriff vielleicht etwas unglücklich gewählt wurde aber nichts anderes bedeutet wie "URI" Eintrag.

--------------------------
2.) Ich habe schon längst probiert einen solchen Internetlink in die DB zu schreiben. Doch die Bilder wurden trotzdem nicht angezeigt.
Deshalb würde ich noch einmal jemanden bitten der es kann mir zu beschreiben wie ich die Bilder angezeigt bekomme:
die bilder liegen in:c:\programme\xampp\phpMyAdmin\chelsea\images
soll ich sie verschieben oder, dort lassen, und wie sieht dann der link aus.

In diesem fall hiesse die URI http://localhost/phpmyadmin/chelsea/images

Bilder kannst du dort im Pfad lassen, wobei sich die Frage stellt wofür du Bilder unterhalb des phpmyadmin gelegt hast. Aber das ist jetzt eine Konzeptfrage die unwichtig ist.

--------------------------
Bitte nochmals um richtige Hilfe!!!

Wird dir hier, wie in allen anderen Foren auch zuteil.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby csc » 06. January 2007 12:02

danke für die hilfe, mittlerweile ist mir schon klar, dass das ein denkfehler war.
Nun zu lösung:
ich habe genau diesen link in die DB geschrieben(dort wo Bild steht)
doch die bilder werden einfach nicht angezeigt, kann es am format liegen, ich denke eher nicht da es normale .jpg bilder sind, die ich auch schon verkleinert habe damit sie in die tabelle passen.
was muss das für ein feld sein???
ich habe ein normales textfeld gewählt?
csc
 
Posts: 7
Joined: 05. January 2007 12:32

Postby KingCrunch » 08. January 2007 14:38

Garkein Feld, seit wann werden Bilder in Felder generiert?

So, nehmen wir an deine Bilder liegen in c:\htdocs\images und c:\htdocs ist dein Document-root, dann wäre ein Link zum Bild bild.jpg folgendermaßen. Wenn jetzt das Bild net angezeigt wird, ist vermutlich der Pfad (ausgehend vom Doc-Root) falsch ;)

Code: Select all
<img src="http://localhost/images/bild.jpg">


In der DB reicht der Eintrag images/bild.jpg oder eventuell nur bild.jpg, wenn du eh alle Bilder im selben Verzeichniss gespeichert hast, weil man dann den Rest auch einfach pauschal für alle Bilder so festlegen kann.
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby csc » 08. January 2007 18:08

danke für die hilfe, habe es jetzt endlich geschaft, und das sogar noch 2 Tage vor dem Abgabetermin. :D
csc
 
Posts: 7
Joined: 05. January 2007 12:32


Return to PHP

Who is online

Users browsing this forum: No registered users and 4 guests