PHP-Ausgabe als Button

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP-Ausgabe als Button

    Hallo PHP-User,

    ich habe folgendes Problem und hoffe hier auf Unterstüzung.

    Ich möchte eine Ausgabe die über meine mySQL-Datenbank ausgelesen wird - z.B.

    PHP-Code:
    <?php
    $sql 
    "SELECT count(mp) FROM ".$tbl_logs." WHERE time BETWEEN ($today-86400) AND $today";
    $res mysql_query($sql);
    $hits mysql_result($res0);
    echo 
    $hits;
    ?>
    in einen Grafikbutton umwandeln.

    Als Anhaltspunkt habe ich folgendes Script :

    PHP-Code:
    <?php
    Header
    ("Content-type: image/png");
    $string=implode($argv," ");
    $im ImageCreateFromPng("button.png");
    $orange ImageColorAllocate($im22021060);
    $px = (imagesx($im)-7.5*strlen($string))/2;
    ImageString($im,3,$px,9,$string,$orange);
    ImagePng($im);
    ImageDestroy($im);
    ?>
    Das einen Text ( hier 'text' ), der bei diesem Script mit '...?text' aufgerufen wird über das Bild 'button.png'. legt.

    Nun möchte die Ausgabe vom vorherigen Script statt des Strings einsetzen.

    Gruß Alf

  • #2
    Probier's mal so:

    PHP-Code:
    <?php
    Header
    ("Content-type: image/png");

    // ... Verbindung zur Datenbank ...
    $sql "SELECT count(mp) FROM ".$tbl_logs." WHERE time BETWEEN ($today-86400) AND $today";
    $res mysql_query($sql);
    $hits mysql_result($res0);

    $string $hits;
    $im ImageCreateFromPng("button.png");
    $orange ImageColorAllocate($im22021060);
    $px = (imagesx($im)-7.5*strlen($string))/2;
    ImageString($im,3,$px,9,$string,$orange);
    ImagePng($im);
    ImageDestroy($im);
    ?>

    Kommentar


    • #3
      Hallo fusiba,

      danke für die schnelle Antwort, aber irgenwie klappt es trotzdem nicht.

      Ich benutze nun folgenden Code :

      PHP-Code:
      <?php
             Header
      ("Content-type: image/png");

             
      // ... Verbindung aufbauen, auswählen einer Datenbank
             
      $link mysql_connect("xxx""xxx""xxx")
             or die(
      "Keine Verbindung möglich!");
             print 
      "Verbindung zum Datenbankserver erfolgreich ... gelesener Datensatz :";
             
      mysql_select_db("xxx")
             or die(
      "Auswahl der Datenbank fehlgeschlagen");

             
      // ... Verbindung zur Datenbank ...
             
      $sql "SELECT count(hostname) FROM pphl_85245_logs";
             
      $res mysql_query($sql);
             
      $hits mysql_result($res0);

             
      // ... Erzeugen des Butons
             
      $string $hits;
             
      $im ImageCreateFromPng("button.png");
             
      $orange ImageColorAllocate($im22021060);
             
      $px = (imagesx($im)-7.5*strlen($string))/2;
             
      ImageString($im,3,$px,9,$string,$orange);
             
      ImagePng($im);
             
      ImageDestroy($im);

      ?>
      Jedoch wird der Button nur als Platzhalter angezeigt,
      jedoch nicht das Bild.

      Das Bild ist aber da :

      Wenn ich das 'Erzeugen des Buttons' weg lasse und 'echo $hits' einsetze wird der Wert richtig ausgelesen und angezeigt.

      An was kann das liegen ?

      Für Hilfe wäre ich dankbar

      Gruß Alf

      Kommentar


      • #4
        Also bei mir funktioniert folgendes ohne Probleme:

        PHP-Code:
        <?php
               Header
        ("Content-type: image/png");

               
        $hits "test";

               
        // ... Erzeugen des Butons
               
        $string $hits;
               
        $im ImageCreateFromPng("button.png");
               
        $orange ImageColorAllocate($im22021060);
               
        $px = (imagesx($im)-7.5*strlen($string))/2;
               
        ImageString($im,3,$px,9,$string,$orange);
               
        ImagePng($im);
               
        ImageDestroy($im);

        ?>
        Teste das mal so, also komplett ohne DB.
        Dein Server (http://www.alfshomepage.de/buttontest.php) geht im Moment leider nicht.

        "...already more than 'max_user_connections' active connections..."

        Kommentar


        • #5
          Danke - ich werde es mal antesten.

          Ja, das mit dem "...already more than 'max_user_connections' active connections..." ist schon ein Kraus

          Aber irgenwie scheint mein Provider nichts dagegen machen zu wollen,
          obwohl ich ihn schon mehrfach drauf hin gewiesen habe.

          Aber es geht wieder.

          Gruß Alf

          Kommentar


          • #6


            klick


            mehr kann ich zu deinem provieder problem nicht sagen! (der banner stimmt nichtmehr ganz!)

            JOat
            the end comes faster than you think - you've already reached it!

            Kommentar


            • #7
              H I L F E - es klappt einfach nicht

              Wenn ich die Datenbankabfrage weglasse,
              funktioniert es.

              Ich habejetzt alle Möglichkeiten durchprobiert,
              ohne Erfolg.

              Vielleicht fällt ja noch jemand etwas ein,
              was falsch sein könnte.

              Gruß Alf

              Kommentar


              • #8
                lasse doch einfach mal das
                PHP-Code:
                print "Verbindung zum Datenbankserver erfolgreich ... gelesener Datensatz :"
                ganz weg.

                vielleicht geht es ja dann ....
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Code:
                  Verbindung zum Datenbankserver erfolgreich ... gelesener Datensatz :
                  [B]Warning: Cannot add header information - headers already sent by 
                  (output started at /usr/local/httpd/htdocs/kunden/web625/html/buttontest.php:7) 
                  in /usr/local/httpd/htdocs/kunden/web625/html/buttontest.php on line 18[/B]
                  ‰PNG  IHDRX(MiÍÇÀPLTE„„ÜÒ< 
                  £•äáâ›™ŸØÔÖðïðùøùßÛݨ¥©—”—
                  êèéÿÿÿ¼¹¼ÈÅȳ†Ok.t4OfüGîåçÖÏ»+àë
                  RÂ%\Â%\Â%üŸÁoƒI~À»d¬;IEND®B`‚
                  Was sagt uns das?

                  Lass alle HTML-Ausgaben in deinem Script Weg, also keine prints, echos, ... alles raus, damit auf gar keinen fall etwas anderes gemacht wird, als dein bild erzeigt. schließlich kann man aus dem Satz "Verbindung zum Datenbankserver erfolgreich ... gelesener Datensatz :" kein bild machen. Aus den Zeichen danach eben schon.

                  [EDIT] Hab nur ein paar Umbrüche in den Code gemacht.
                  Zuletzt geändert von TobiaZ; 19.10.2002, 11:56.

                  Kommentar


                  • #10
                    Danke Leute,

                    hat geklappt

                    Gruß Alf

                    Kommentar

                    Lädt...
                    X