Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Drucken

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Drucken

    Hallo,

    ich habe einen Button erstellt der die Seite druckt (funktioniert genauso wie "STRG" + "P"). Er zeigt mir jetzt allerdings in der Druckvorschau meine Balken in meinem Diagramm nicht mehr an. Die Werte für die Balken bekommt es aus der Datenbank.

    Was muss ich machen damit er mir die Balken anzeigt?


    Mit freundlichen Grüßen
    Thomas C


  • #2
    Es gibt diverse heidnische Rituale, die du versuchen könntest, um „ihn“ milde zu stimmen, aber ich würde im Zweifel das Problem identifizieren und es beheben.

    Kommentar


    • #3
      Vielen Dank mermshaus für diese tolle Hilfe....
      Wie identifiziere ich den dieses Problem? Ich habe keine Fehlermeldung und er zeigt es auch normal richtig an, erst wenn ich das drucken starte verschwinden die Balken.

      Kommentar


      • #4
        Du hast weder Code gepostet den wir uns angucken können oder sonst irgendwas was uns hilft dir zu helfen. Da kann man dann leider nur einen Blick in die Glaskugel werfen und raten.

        Aber vielleicht hilft dir das hier weiter http://aktuell.de.selfhtml.org/artikel/css/drucklayout/

        Kommentar


        • #5
          Wie sollen wir das Problem identifizieren können?
          Ist das Error-Reporting auch an?
          Ist Fehleranzeige an?

          Wie druckst du die Seite?


          Ich interpretier mermshaus Satz mal als: Um zu helfen fehlen zu viele Informationen.
          Relax, you're doing fine.
          RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

          Kommentar


          • #6
            Ok, Entschuldigung dafür...
            Hier ein Teil des Codes:
            PHP-Code:
            $A1 "SELECT Prozent1 FROM import WHERE Containernummer = '$test'";
                
            $B1 mysqli_query($db_link$A1);
                
            $C1 mysqli_fetch_assoc($B1);
                
            $C1 implode ($C1); 
            Es wird also eigentlich nur eine SQL Abfrage gemacht und der Wert dieses Feldes als Balkendiagramm dargestellt.

            Falls Ihr noch den Code für das Diagramm braucht:

            PHP-Code:
            class Diagramm 
                    var 
            $name// String or numeric 
                    
            var $height// Int 
                    
            var $width// Int 
                    
            var $maxvalue_height// Int 
                    
            var $x = array(); // Elements can be numeric or a string 
                    
            var $y = array(); // Elements are numeric 
                    
                            /* Attribute definieren 
                     * ... 
                    */ 

                    // Diagrammname setzen 
                    
            function setName($name){ 
                        if(!
            is_string($name) AND !is_numeric($name)){ 
                            throw new 
            Exception("Falscher Dateityp (".gettype($name).") number or string expected!");
                            return 
            false
                        } 
                        
            $this->name $name
                    } 

                    
            // Diagrammname auslesen 
                    
            function getName(){ 
                        return 
            $this->name
                    } 

                    
            // Höhe des Diagramms setzen 
                    
            function setHeight($height){ 
                        if(!
            is_int($height)){ 
                            throw new 
            Exception("Falscher Dateityp (".gettype($height).") integer expected!");
                            return 
            false
                        } 
                        
            $this->height $height
                        return 
            true
                    } 

                    
            // Höhe des Diagramms auslesen 
                    
            function getHeight(){ 
                        return 
            $this->height
                    } 

                    
            // Breite des Diagramms setzen 
                    
            function setWidth($width){ 
                        if(!
            is_int($width)){ 
                            throw new 
            Exception("Falscher Dateityp (".gettype($width).") integer expected!");
                            return 
            false
                        } 
                        
            $this->width $width
                        return 
            true
                    } 

                    
            // Breite des Diagramms auslesen 
                    
            function getWidth(){ 
                        return 
            $this->width
                    } 

                    
            // Balkenhöhe des Maximalwertes setzen 
                    
            function setMaxvalueHeight($maxvalue_height){ 
                        if(!
            is_int($maxvalue_height)){ 
                            throw new 
            Exception("Falscher Dateityp (".gettype($maxvalue_height).") integer expected!");
                            return 
            false
                        } 
                        
            $this->maxvalue_height $maxvalue_height
                        return 
            true
                    } 

                    
            // Balkenhöhe des Maximalwertes auslesen 
                    
            function getMaxvalueHeight(){ 
                        return 
            $this->maxvalue_height
                    } 

                    
            // Fügt einen X-Wert hinzu 
                    
            function addX($x){ 
                        if(!
            is_numeric($x) AND !is_string($x)){ 
                            throw new 
            Exception("Falscher Dateityp (".gettype($x).") number or string expected!");
                            return 
            false
                        } 
                        
            $this->x[] = $x
                        return 
            true
                    } 

                    
            // Fügt einen Y-Wert hinzu 
                    
            function addY($y){ 
                        if(!
            is_numeric($y)){ 
                            throw new 
            Exception("Falscher Dateityp (".gettype($y).") number expected!");
                            return 
            false
                        } 
                        
            $this->y[] = $y
                        return 
            true
                    } 
                    
                    
            /* Attribute definieren 
                     * und set / get Methoden definieren 
                     * ... 
                    */ 

                    
            function _checkValues(){ 
                        if(!isset(
            $this->name)){ 
                            throw new 
            Exception("Kein Diagrammname vorhanden!"); 
                            return 
            false
                        } 
                        if(!isset(
            $this->height)){ 
                            throw new 
            Exception("Keine Höhe für das Diagramm vorhanden!"); 
                            return 
            false
                        } 
                        if(!isset(
            $this->width)){ 
                            throw new 
            Exception("Keine Breite für das Diagramm vorhanden!"); 
                            return 
            false
                        } 
                        if(!isset(
            $this->maxvalue_height)){ 
                            throw new 
            Exception("Keine Höhe für den Maximalwert vorhanden!"); 
                            return 
            false
                        } 
                        if(!isset(
            $this->x)){ 
                            throw new 
            Exception("Keine X-Werte vorhanden!"); 
                            return 
            false
                        } 
                        if(!isset(
            $this->y)){ 
                            throw new 
            Exception("Keine Y-Werte vorhanden!"); 
                            return 
            false
                        } 
                        if(
            count($this->x)!=count($this->y)){ 
                            throw new 
            Exception("Anzahl der X- und Y-Werte stimmt nicht überein!"); 
                            return 
            false
                        } 
                        return 
            true
                    } 

                    function 
            _getRelation(){ 
                        
            $relation = array(); 
                        foreach(
            $this->as $key => $wert
                            
            $relation[$key] = $wert/$this->_getMaxValue(); 
                        return 
            $relation
                    } 

                    function 
            _getMaxValue(){ 
                        return 
            max($this->y); 
                    } 

                    function 
            _getDataNumber(){ 
                        return 
            count($this->y); 
                    } 

                    function 
            display($echo false){ 
                        if(!
            $this->_checkValues()) 
                            return 
            ''
                        
            $output ''

                        
            // Verhältnis aller Daten zum Maximalwert berechnen 
                        // Jeder Wert erhält dann als Höhe einen Bruchteil der 
                        // maximalen Balkenhöhe 
                        
            $relation $this->_getRelation(); 

                        
            // Tabelle erzeugen 
                        
            $output .= "<table cellpadding=\"1\" style=\"width:".$this->getWidth()."px; height:".$this->getHeight()."px; text-align:center; background-color:#DFDFDF; border:solid 1px black; font-size:10px; margin:10px auto\">\n"
                        
            // Diagrammname ausgeben 
                        
            $output .= " <tr>\n"
                                   
            "  <td colspan=\"".$this->_getDataNumber()."\" style=\"height:20px;\">\n"
                                   
            $this->getName()."\n"
                                   
            "  </td>\n"
                                   
            " </tr>\n"

                        
            $output .= " <tr>\n"
                        
            // Werte - also Balken - ausgeben 
                        
            foreach($relation as $key => $wert){ 
                             
            // Breite einer Zelle und Höhe eines Balkens berechnen 
                             
            $output .= "  <td style=\"vertical-align:bottom; height:150px; width:".floor($this->getWidth()/$this->_getDataNumber())."px;\">"
                                        
            "   <div style=\"margin:auto; background-color:red; height:".floor($this->getMaxvalueHeight()*$wert)."px; width:".floor(($this->getWidth()/2)/$this->_getDataNumber())."px\" title=\"".$this->y[$key]."\">"
                                        
            "&nbsp;"
                                        
            "   </div>"
                                        
            "  </td>\n"
                        } 
                        
            $output .= " </tr>\n"

                        
            $output .= " <tr>\n"
                        
            // Stellen - also Balkenzuordnung - ausgeben 
                        
            foreach($this->as $stelle){ 
                             
            $output .= "  <td style=\"vertical-align:middle; border:solid 1px black; border-width:1px 1px 0px 1px; height:80px;\">"
                             
            $output .= $stelle
                             
            $output .= "  </td>\n"
                        } 

                        
            $output .= " </tr>\n"
                        
            $output .= "</table>\n"
                        if(
            $echo
                            echo 
            $output
                        else 
                            return 
            $output
                    } 
                }
                
                
            // Neues Objekt erzeugen 
              
            $a = new Diagramm(); 
              
            // 'Versuche', die Konfiguration zu durchzuführen 
              
            try{
                
            // Name setzen
                
            $a->setName("Schadstoffe");
                
            // Höhe setzen
                
            $a->setHeight(300);
                
            // Breite setzen
                
            $a->setWidth(1300);
                
            // Balkenhöhe setzen
                
            $a->setMaxvalueHeight(150); 
            PHP-Code:
            $x = array("$zeile""$zeile2""$zeile3""$zeile4""$zeile5""$zeile6""$zeile7""$zeile8""$zeile9""$zeile10""$zeile11""$zeile12""$zeile13""$zeile14""$zeile14""$zeile15");
                
            $y = array("$C1""$C2""$C3""$C4","$C5","$C6","$C7","$C8","$C9","$C10","$C11","$C12","$C13","$C14","$C15","$C16"); 

            Kommentar


            • #7
              Wo befindet sich in dem oben genannten Code der Knopf der die Seite druckt?

              Kommentar


              • #8
                Code:
                <input type="button" onclick="window.print();" value="Seite ausdrucken" />

                Kommentar


                • #9
                  Mal unabhängig von der bescheidenen Auswahl deiner Variablennamen von $A1, $B1 und $C1, solltest in der Druckvorschau die Option "Hintergrundbilder und Farben drucken" aktivieren

                  Kommentar


                  • #10
                    Zitat von Blar Beitrag anzeigen
                    Mal unabhängig von der bescheidenen Auswahl deiner Variablennamen von $A1, $B1 und $C1, solltest in der Druckvorschau die Option "Hintergrundbilder und Farben drucken" aktivieren
                    ... hätte ich selber drauf kommen können, tut mir Leid für die dumme Frage.
                    Aber vielen Dank!

                    Kommentar

                    Lädt...
                    X