 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
07.02.2003, 12:12
|
#1
|
|
TP-Member
Registriert seit: Jul 2001
|
Auslesen von Bild und Text - einige fragen dazu
hi leute!
FRAGE 1
ich bastle gerade an einem kleinen webshop - meinem ersten. dementsprechend ist wahrscheinleich auch das problem bzw. die lösung. der upload von bild und text funktioniert - was ich vom wiederauslesen nicht gerade behaupten kann.
hier das ergebnis:
http://www.laubdorf.at/shop/test/ausles2.php
mittlerweile hab ich rausgefunden, dass natürlich binäre daten nicht so einfach ausgelesen werden können - man muß mit der header funktion dem browser einiges klarmachen - aber wo schreib ich das richtig rein???
hier der code:
<html><body>
<?
include ("datenbank.php");
//Daten auslesen
$result = mysql_query("SELECT * FROM shopartikel",$db);
?>
<table border="1" cellspacing="0" cellpadding="3" align="center">
<tr>
<td><b>ID</b></td>
<td><b>Artikelkategorie</b></td>
<td><b>Artikelname</b></td>
<td><b>Preis</b></td>
<td><b>Beschreibung</b></td>
<td><b>Bild</b></td>
<td><b>Dateiname</b></td>
<td><b>Dateigroesse</b></td>
<td><b>Dateityp</b></td>
</tr>
<? while ($daten = mysql_fetch_array($result)) { ?>
<tr>
<td><? echo $daten[artID]; ?></td>
<td><? echo $daten[artkat]; ?></td>
<td><? echo $daten[artname]; ?></td>
<td><? echo $daten[artpreis]; ?></td>
<td><? echo $daten[artdetails]; ?></td>
<td><? echo $daten[artbild]; ?></td>
<td><? echo $daten[filename]; ?></td>
<td><? echo $daten[filesize]; ?></td>
<td><? echo $daten[filetype]; ?></td>
</tr>
<? } ?>
</table></div></body></html>
FRAGE 2
ich hab die bilder direkt in die datenbánk gespeichert (ich weiß schon, dass das problematisch ist, aber es werden max 60 Artikel gespeichert- da dachte ich es genügt so...
wie würde das mit verlinken funktionieren? gibt es da irgendwo ein tut? das mit dem upload in db hab ich mit dem von florian dittmer hingekriegt...
so das war es mal... reicht eh, oder?
danke schon mal!
es grüßt der
bergfred
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
07.02.2003, 13:17
|
#2
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (07.09.2003 um 17:39 Uhr).
|
|
|
07.02.2003, 13:51
|
#3
|
|
TP-Member
Registriert seit: Jul 2001
|
danke erst mal...
genau mit dem tutorial hab ich den upload hingekriegt...
img usw: wo und wie schreib ich da die header info hin... muss das nicht am anfang der datei geschehen.... ??? hab das mal ausprobiert aber immer eine fehlermeldung bekommen (es wurde schon ein header übertragen oder so...)
g&k
bergfred
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
07.02.2003, 14:42
|
#4
|
|
TP-Insider
Registriert seit: Feb 2002
Ort: Burgkichen (Austria)
|
für die Bilder musst du eine extra datei erstellen, die diese aus der Datenbank holt.
im quelltext von der geposteten datei muss es heißen: <img src=bildholen.php?aid=[aktueller datensatz]>
in der datei bildholen.php stetzt du dann als header-type image/jpeg und holst den entsprechenen datensatz für das bild aus der db.
so würde ich es jedenfalls machen...
__________________
Gruß
Tobias
Sag einem Klugen einen Fehler, er wird erfreut und dankbar sein.
Ein Dummer sieht dich nur als Quäler und schnappt sofort beleidigt ein.
[Karl Heinz Söhler]
|
|
|
07.02.2003, 16:42
|
#5
|
|
TP-Member
Registriert seit: Jul 2001
|
das sieht schon besser aus...
es wird zwar jetzt angezeigt, dass an der stelle ein bild ausgegeben werden sollte , aber das bekannte kasterl mit rutem kreuz erscheint... bedeutet das vielleicht, dass kein bild in der db liegt? oder einfach nur, dass ich zu blöde bin die richtige id an das bildholenskript zu übergeben....
hier nochmal der code für der auslese dateien:
ausles2.php
<html><body><div align="center">
<h1>test aus lese</h1>
<?
include ("datenbank.php");
$counter="0";
//Daten auslesen
$result = mysql_query("SELECT * FROM shopartikel",$db);
echo "hallo";
?>
<table border="1" cellspacing="0" cellpadding="3" align="center">
<tr>
<td><b>ID</b></td>
<td><b>Artikelkategorie</b></td>
<td><b>Artikelname</b></td>
<td><b>Preis</b></td>
<td><b>Beschreibung</b></td>
<td><b>Bild</b></td>
<td><b>Dateiname</b></td>
<td><b>Dateigroesse</b></td>
<td><b>Dateityp</b></td>
</tr>
<? while ($daten = mysql_fetch_array($result)) { ?>
<tr>
<td><? echo $daten[artID]; ?></td>
<td><? echo $daten[artkat]; ?></td>
<td><? echo $daten[artname]; ?></td>
<td><? echo $daten[artpreis]; ?></td>
<td><? echo $daten[artdetails]; ?></td>
<td><img src=bildholen.php?id=counter></td>
<td><? echo $daten[filename]; ?></td>
<td><? echo $daten[filesize]; ?></td>
<td><? echo $daten[filetype];
?></td>
</tr>
<? $counter++; } ?>
</table></div></body></html>
und bildholen.php:
<?php
header("Content-type: image/jpeg");
include ("datenbank.php");
$query = "select artbild from shopartikel where artID=$counter";
$result = MYSQL_QUERY($query);
$data = mysql_result($result,0,"artbild");
print ($data);
?>
danke schönn...
es grüßt wie immer
der bergfred
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
07.02.2003, 17:19
|
#6
|
|
TP-Insider
Registriert seit: Feb 2002
Ort: Burgkichen (Austria)
|
sorry das die antwort vorhin etwas kurz war, ich war grad auf dem sprung.
für die Bilderstellung brauchst du folgendes script (glaub ich zumindest - habs leider noch nie ausprobiert)
PHP-Code:
$image = $data;
$size = getimagesize($image);
if ($quality=="")
{
$quality="90";
}
else
{
}
if ($width=="" && $height=="")
{
$width=$size[0];
$height=$size[1];
}
elseif ($width >= $size[0])
{
$width=$size[0];
$height=$size[1];
}
elseif ($heigth >= $size[1])
{
$width=$size[0];
$height=$size[1];
}
elseif ($width!="" && $height=="")
{
$height=round($size[1]/($size[0]/$width));
}
elseif ($width=="" && $height!="")
{
$width=(($size[1]/$height)*$size[0]);
}
else
{
}
$src = imagecreatefromjpeg($image);
$dest = imagecreatetruecolor($width,$height);
imagecopyresized($dest,$src,0,0,0,0,$width,$height,$size[0],$size[1]);
imagejpeg($dest,"",$quality);
imagedestroy($dest);
imagedestroy($src);
da kannst du dann sogar noch angeben auf welche größe das bild geändert werden soll.
__________________
Gruß
Tobias
Sag einem Klugen einen Fehler, er wird erfreut und dankbar sein.
Ein Dummer sieht dich nur als Quäler und schnappt sofort beleidigt ein.
[Karl Heinz Söhler]
|
|
|
07.02.2003, 17:47
|
#7
|
|
TP-Member
Registriert seit: Jul 2001
|
hmmm
ratlosigkeit macht sich breit...
danke für deine geduld....
aber ich denke es scheitert schon bei der übergabe der id an das bildholen script....
das kann doch nicht stimmen, oder?:
<td><img src=bildholen.php?id=counter></td>
sie das posting weiter oben....
aller anfang ist eben schwer....
galgenhumorgrins
bergfred
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
07.02.2003, 18:03
|
#8
|
|
TP-Insider
Registriert seit: Feb 2002
Ort: Burgkichen (Austria)
|
im quelltext muss es so heißen: wie bist du denn auf counter gekommen?
PHP-Code:
<tr>
<td><? echo $daten[artID]; ?></td>
<td><? echo $daten[artkat]; ?></td>
<td><? echo $daten[artname]; ?></td>
<td><? echo $daten[artpreis]; ?></td>
<td><? echo $daten[artdetails]; ?></td>
<td><img src="bildholen.php?id=><? echo $daten[artID]; ?>&width=250"></td>
<td><? echo $daten[filename]; ?></td>
<td><? echo $daten[filesize]; ?></td>
<td><? echo $daten[filetype];
und dann:
PHP-Code:
<?php
header("Content-type: image/jpeg");
include ("datenbank.php");
$query = "select artbild from shopartikel where artID=$id";
$result = MYSQL_QUERY($query);
$image = mysql_result($result,0,"artbild");
$size = getimagesize($image);
if ($quality=="")
{
$quality="90";
}
else
{
}
if ($width=="" && $height=="")
{
$width=$size[0];
$height=$size[1];
}
elseif ($width >= $size[0])
{
$width=$size[0];
$height=$size[1];
}
elseif ($heigth >= $size[1])
{
$width=$size[0];
$height=$size[1];
}
elseif ($width!="" && $height=="")
{
$height=round($size[1]/($size[0]/$width));
}
elseif ($width=="" && $height!="")
{
$width=(($size[1]/$height)*$size[0]);
}
else
{
}
$src = imagecreatefromjpeg($image);
$dest = imagecreatetruecolor($width,$height);
imagecopyresized($dest,$src,0,0,0,0,$width,$height,$size[0],$size[1]);
imagejpeg($dest,"",$quality);
imagedestroy($dest);
imagedestroy($src);
?>
__________________
Gruß
Tobias
Sag einem Klugen einen Fehler, er wird erfreut und dankbar sein.
Ein Dummer sieht dich nur als Quäler und schnappt sofort beleidigt ein.
[Karl Heinz Söhler]
|
|
|
07.02.2003, 18:14
|
#9
|
|
TP-Member
Registriert seit: Jul 2001
|
der schlaumeier in mir
hat zugeschlagen...
nachdem ich das mit der id übergae so nicht hinbekommen hab, hab ich gedacht ich ...
na, wenn ich jetzt so drüber nachdenk, hab ich ganz falsch gedacht, also hör ich jetzt mal auf zu denken..... blackout der verzweiflung....
hab das jetzt mal so eingefügt, stellt das jpeg aber trotzdem nicht richtig dar...
http://www.laubdorf.at/shop/test/ausles2.php
hmm..
vielleicht stimmt mit dem upload schon was nicht...?
g&k
bergfred
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
07.02.2003, 19:26
|
#10
|
|
TP-Insider
Registriert seit: Feb 2002
Ort: Burgkichen (Austria)
|
kuck mal wie die url zum bild heist:
http://www.laubdorf.at/shop/test/bildholen.php?id=>28&width=250
das kann nicth gut gehen
vielleicht klappts ja dann
kann aber auch sein das bei der bilderstellung was net stimmt, aber wie gesagt das is net mein spezialgebiet...
__________________
Gruß
Tobias
Sag einem Klugen einen Fehler, er wird erfreut und dankbar sein.
Ein Dummer sieht dich nur als Quäler und schnappt sofort beleidigt ein.
[Karl Heinz Söhler]
|
|
|
07.02.2003, 19:28
|
#11
|
|
TP-Insider
Registriert seit: Feb 2002
Ort: Burgkichen (Austria)
|
hier der fehler bei der erzeugung:
<br>
<b>Warning</b>: getimagesize: Unable to open 'ÿØÿà' for reading. in <b>/home/sites/6713688799/www/web/shop/test/bildholen.php</b> on line <b>10</b><br>
<br>
<b>Warning</b>: imagecreatefromjpeg: Unable to open 'ÿØÿà' for reading in <b>/home/sites/6713688799/www/web/shop/test/bildholen.php</b> on line <b>47</b><br>
<br>
<b>Fatal error</b>: imagecreatetruecolor(): requires GD 2.0 or later in <b>/home/sites/6713688799/www/web/shop/test/bildholen.php</b> on line <b>48</b><br>
bestimmt kann dir noch jemand anders helfen, ich muss leider jetzt weg.
viel glück, cu
__________________
Gruß
Tobias
Sag einem Klugen einen Fehler, er wird erfreut und dankbar sein.
Ein Dummer sieht dich nur als Quäler und schnappt sofort beleidigt ein.
[Karl Heinz Söhler]
|
|
|
07.02.2003, 19:29
|
#12
|
|
TP-Member
Registriert seit: Jul 2001
|
ja... das kann nicht gehen....
danke jedenfalls für deine bemühungen!
ich wart einfach bis montag...
vielleicht findet sich jemand....
schönes wochenende!!
baba
bergfred
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
08.02.2003, 00:43
|
#13
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Hi !!
Also am besten ist es, wenn du das Script von TobiasKa mal vergisst. Funktioniert so sowieso nicht und ist an dieser Stelle auch vollkommen überflüssig.
Deine erstes Script bildholen.php war doch schon richtig. Du hast hier halt nur die ID nicht richtig übergeben.
PHP-Code:
<?php
header("Content-type: image/jpeg");
include ("datenbank.php");
$query = "select artbild from shopartikel where artID=$counter";
$result = MYSQL_QUERY($query);
$data = mysql_result($result,0,"artbild");
print ($data);
?>
Der Link muss so aussehen:
http://www.laubdorf.at/shop/test/bildholen.php?id=28
...so kannst du es auch direkt testen. Falls dort auch ein rotes X kommt, kommentiere einfach mal die header()-Funktion aus, und du siehst die Fehlermeldung.
Es war eigentlich nur der Aufruf an dieser Stelle falsch:
PHP-Code:
<td><img src="bildholen.php?id=<?=$daten[artID];?>"></td>
Das Script von TobiasKa läuft deshalbt nicht, da die meisten Funktionen, die er aus der GD nutz FileNAMEs erwarten und keinen String (-> http://www.php.net/manual/en/functio...fromstring.php) Dazu kommt noch, dass er Funktionen einsetzt, die erst ab der GD2.x verfügbar sind (-> http://www.php.net/manual/en/functio...etruecolor.php)
Gruss
Jan
|
|
|
10.02.2003, 11:26
|
#14
|
|
TP-Member
Registriert seit: Jul 2001
|
guten morgääähn!
dann war das doch nicht so ganz falsch? puuhh durchatmen... aber:
wenn ich das ausles skript ausführ, krieg ich zwar die textdaten, nicht aber die bilder (das rote kreuz läßt grüßen...). wenn ich die id direkt über http eingebe, kommt das raus:
<b>Warning</b>: Supplied argument is not a valid MySQL result resource in <b>/home/sites/6713688799/www/web/shop/test/bildholen.php</b> on line <b>8</b><br>
und in line 8 steht: $data = mysql_result($result,0,"artbild");
was bedeutet das nun wieder?
kann es sein, dass ich beim upload skrip schon einen blödsinn drin hab und gar keine bilder in der db liegen?
danke für die geduld mit einem unwürdigen...
baba
bergfredi
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
10.02.2003, 12:06
|
#15
|
|
TP-Member
Registriert seit: Jul 2001
|
hab es eben selbst hinbekommen...
nachdenken schadet doch nicht...
so ein dummer fehler....
danke an alle!!!!#
g&k
bergfred
__________________
Wer sich an die 80er erinnern kann, hat sie nicht erlebt...
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
| | |