#1 11. November 2012 Zuletzt bearbeitet: 11. November 2012 auslesen + img GD funkt nicht wie es sollte .. hi, funkt nicht wie es sollte ( Wird $text so befüllt ohne db funktionierts problemlos! PHP: include "config.inc.php" ; $abfrage = "SELECT plz FROM geo" ; $ergebnis = mysql_query ( $abfrage ); while( $row = mysql_fetch_object ( $ergebnis )) { //echo $row->plz; } Header ( "Content-Type: image/jpg" ); $img = ImageCreateFromJPEG ( 'geobar.jpg' ); $black = ImageColorAllocate ( $img , 0 , 0 , 0 ); $font_height = ImageFontHeight ( 3 ); $font_width = ImageFontWidth ( 1 ); $image_height = ImageSY ( $img ); $image_width = ImageSX ( $img ); /// GENAU HIER SCHEITERTS - das aus der Datenbank kommt dort nicht an :(( bild bleibt leer :(( $text = $row -> plz ; $length = $font_width * strlen ( $text ); $image_center_x = ( $image_width / 2 )-( $length / 2 ); $image_center_y = ( $image_height / 2 )-( $font_height / 2 ); ImagePNG ( $img ); ImageDestroy ( $img ) + Multi-Zitat Zitieren
#2 11. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. Und wo genau rufst du jetzt imagestring o.ä. auf? Bei deinem angegebenem Code schreibst du nur die Daten aus der Datenbank in die Variable $text. Diese Daten werden aber nicht durch eine Funktion in das Bild geschrieben. MfG + Multi-Zitat Zitieren
#3 11. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. hab den code abgeschnittel - es ging nur darum er nimmt das $text nicht an bzw. zeigt das leere bildlein an fülle ich die $text so funktionierts ohne probs + Multi-Zitat Zitieren
#4 11. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. Überdenk noch einmal diesen part: PHP: while( $row = mysql_fetch_object ( $ergebnis )) { //echo $row->plz; } Du machst eine Schleife und erst danach greifst du auf $row zu? Die Variable $row wird bei jedem Durchlauf neu gefüllt, hat also immer einen anderen Wert. + Multi-Zitat Zitieren
#5 12. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. ich bekomms nicht hin ( tut mir leid ... + Multi-Zitat Zitieren
#6 12. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. Code: <? include "config.inc.php"; $abfrage = "SELECT plz FROM geo"; $ergebnis = mysql_query($abfrage); //Variable $row == NULL while($row = mysql_fetch_object($ergebnis)) { //echo $row->plz; //Variable $row == entsprechendes DB Object (Daten aus DB) } //Variable $row == NULL/Letzes DB Object /* Code zur generierung des Bildes * Wird nur EINMAL ausgeführt, da nicht in der While Schleife! * Manche Funktionen sollen aber auch nur EINMAL aufgerufen werden. */ Header("Content-Type: image/jpg"); $img = ImageCreateFromJPEG('geobar.jpg'); $black = ImageColorAllocate($img, 0, 0, 0); $font_height = ImageFontHeight(3); $font_width = ImageFontWidth(1); $image_height = ImageSY($img); $image_width = ImageSX($img); // GENAU HIER SCHEITERTS - das aus der Datenbank kommt dort nicht an :(( bild bleibt leer :(( //Vll. stimmt der Pfad zur "geobar.jpg" nicht? $text = $row->plz; $length = $font_width*strlen($text); $image_center_x = ($image_width/2)-($length/2); $image_center_y = ($image_height/2)-($font_height/2); ImagePNG($img); ImageDestroy($img) + Multi-Zitat Zitieren
#7 12. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. Was für einen Text möchtest du auf dem Bild ausgeben? Eine einzige PLZ? Oder alle PLZ aus der Datenbank, oder ... Das Problem wurde schon genannt. Wenn du das Ergebnis mehrere Schleifendurchläufe haben willst, musst du die Information aus der Datenbank innerhalb der Schleife zB in ein Array speichern, damit du nach Abbruch immer noch alle wichtigen Datensätze hast + Multi-Zitat Zitieren
#8 13. November 2012 Zuletzt bearbeitet: 13. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. Möchte immer nur ein ergebniss anzeigen , und zwar das letzte also ORDER BY ID nur das script funkt nicht tada is mein pfusch script das nicht funken will , soll immer das LETZT ergebnis anzeigen. PHP: <? php // EINSTELLUNGEN - BEGINN include ( "config.inc.php" ); $abfrage = "SELECT plz FROM geol" ; $ergebnis = mysql_query ( $abfrage ); //Variable $row == NULL while( $row = mysql_fetch_object ( $ergebnis )){ //echo $row->plz; //Variable $row == entsprechendes DB Object (Daten aus DB) } //Variable $row == NULL/Letzes DB Object// EINSTELLUNGEN - ENDE Header ( "Content-Type: image/jpg" ); $img = ImageCreateFromJPEG ( 'geobar.jpg' ); $black = ImageColorAllocate ( $img , 0 , 0 , 0 ); $font_height = ImageFontHeight ( 3 ); $font_width = ImageFontWidth ( 1 ); $image_height = ImageSY ( $img ); $image_width = ImageSX ( $img ); $text = $textvar ; $textvar = "1234, City - Berlin / Berlin" ; $length = $font_width * strlen ( $text ); $image_center_x = ( $image_width / 2 )-( $length / 2 ); $image_center_y = ( $image_height / 2 )-( $font_height / 2 ); ImagePNG ( $img ); ImageDestroy ( $img ) ?> + Multi-Zitat Zitieren
#9 13. November 2012 AW: auslesen + img GD funkt nicht wie es sollte .. Das sollte so funktionieren. PHP: <? php include 'config.inc.php' ; $fontFile = 'arial.ttf' ; $fontSize = 14 ; // Ergebnis nach ID (9 8 7 ..) sortiert und auf ein Ergebnis reduziert $query = "SELECT `plz` FROM `geol` ORDER BY `id` DESC LIMIT 1" ; $result = mysql_query ( $query ); // Was machst du wenn es kein Ergebnis gibt? if( mysql_num_rows ( $result ) == 0 ) { exit; } // Ergebnis holen $row = mysql_fetch_object ( $result ); // Spalte als Text festlegen $text = $row -> plz ; $img = ImageCreateFromJPEG ( 'geobar.jpg' ); // Größe des textes holen $textBox = imagettfbbox ( $fontSize , 0 , $fontFile , $text ); // Breite und Höhe Berechnen $textWidth = $textBox [ 6 ] + $textBox [ 4 ]; $textHeight = $textBox [ 6 ] + $textBox [ 1 ]; // Farbe bestimmen $fontColor = ImageColorAllocate ( $img , 0 , 0 , 0 ); // Breite und Höhe des Bildes $imgWidth = ImageSY ( $img ); $imgHeight = ImageSX ( $img ); // Text Position ermitteln $textX = ( $imgWidth / 2 ) - ( $textWidth / 2 ); $textY = ( $imgHeight / 2 ) - ( $textHeight / 2 ); // Text zeichnen ImageFtText ( $img , $fontSize , 0 , $textX , $textY , $fontColor , $fontFile , $text ); // Wenn du das Bild als ImagePNG ausgibst, dann bitte auch mit image/png Header ... Header ( 'Content-Type: image/png' ); // Bild an den Client senden ImagePNG ( $img ); // Speicher Freigeben ImageDestroy ( $img ); // PHP-End-Tag ist nicht nötig + Multi-Zitat Zitieren