PHP-Ausgabe als Button

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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);
    ?>

    Comment


    • #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

      Comment


      • #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..."

        Comment


        • #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

          Comment


          • #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!

            Comment


            • #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

              Comment


              • #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 |


                Comment


                • #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.
                  Last edited by TobiaZ; 19-10-2002, 10:56.

                  Comment


                  • #10
                    Danke Leute,

                    hat geklappt

                    Gruß Alf

                    Comment

                    Working...
                    X