29.10.12

XML Ausgabe mit MySQL

Eher durch Zufall bin ich auf eine Funktion in MySQL gestoßen, mit der man Daten als XML ausgeben kann.

Dazu kann man sich in der Konsole einloggen mit:

mysql -uroot -p --xml;

Jetzt erfolgen alle Ausgaben auf Selects, showdatabases etc. im XML-Format:

show databases;

<?xml version="1.0"?>

<resultset statement="show databases;" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Database">information_schema</field>
  </row>
  <row>
        <field name="Database">mysql</field>
  </row>

  <row>
        <field name="Database">performance_schema</field>
  </row>
</resultset>

26.10.12

Header nur auf erster Seite bei TCPDF

TCPDF ist eine sehr schöne Klasse, um mit PHP PDF-Dateien zu generieren.
Was ich allerdings bei den Beispielen nicht finden konnte ist die Möglichkeit, einen Header nur auf der ersten generierten Seite anzeigen zu lassen.

Doch das ist ziemlich einfach, nach dem Includieren von TCPDF wird die Klasse erweitert mit

class MYPDF extends TCPDF
{

Dann könnte man eine Variable definieren, mit der man je nach Anwendungsfall das Generieren des Headers auf jeder Seite  ein- oder abschalten kann:

public $showHeaderOnlyOnFirstPage = true;

Anschließend wird die Header-Funktion modifiziert:

public function Header()
    {
       
        if($this->showHeaderOnlyOnFirstPage &&  $this->page>1) return;

 Danach folgen die weiteren Anweisungen für den Header, wie beispielsweise:

// Logo
        $logo = K_PATH_IMAGES . PDF_HEADER_LOGO;
        $wappen = K_PATH_IMAGES . PDF_HEADER_LOGO_NDS;
        //echo $logo; echo "<br>" . $wappen;
        $this->Image($logo, 25, 10, 25, '', 'JPG', '', 'T', false, 250, '', false, false, 0, false, false, false);
        $this->Image($wappen, 170, 10, 16, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
        // Set font
        $this->SetFont('helvetica', '', 16);
        // Title
        $this->SetXY(65, 15);
        $this->Cell(10, 15, PDF_HEADER_TITLE, 0, false, 'M', 0, '', 0, false, 'M', 'M');
........

Einfach, oder??



25.10.12

Formulardaten auswerten aus WYMeditor

Der WYMeditor ist ein  WYSIWYM (What You See Is What You Mean) XHTML Editor, welcher sehr leicht in die eigene Webanwendung implementiert werden kann.

Mein Problem war, dass die Formulardaten aus einer Textarea nicht so einfach zu erhalten waren.
Nach einer Google-Suche fand ich dann die Lösung:

$.wymeditors(0).update();
Anschließend kann das Formular versendet werden und die entsprechenden Daten werden per POST übertragen.
Eine Ajax-Funktionalität ist auch sehr leicht möglich.
Nach dem o.a. Update einfach den Text per ID selektieren (JQuery erforderlich - ansonsten document.getElementById......):
 // Text selektieren (nach Update!)
    var text = $('#meineTextarea').val();   
// Aktion definieren
var aktion = {
        "aktion" : "editNotice",
        "editnoticearea" : text
    }
// Daten per Ajax Request versenden
    var ajaxRequest = $.post("PHP-SCRIPT.PHP", aktion, function(data) {
 // hier könnten weitere Befehle stehen....... })
// Wenn erfolgreich -> führe nächste Funktion aus
    .success(function(data) {  responseReceived(data);    })
    .error(function() { alert("Ein Fehler ist aufgetreten");    });

22.10.12

Linux: Große Dateien finden

Liste die 20 größten Dateien auf:
du -m | sort -n | tail -n 20

 Zeige Dateien größer als 10MB:

 ls -lahS $(find / -type f -size +10000k)


Nur Gesamtgröße auflisten:

du -hs


Große Verzeichnisse auflisten:

du -h -a /home/user | sort -hr | head -n 20

10.10.12

JQuery - Werte von Radio-Buttons verarbeiten

Problem:
Mehrere Radio-Buttons mit unterschiedlichen Werten.
Ziel: Auf Klick soll der Wert des selektierten Buttons übergeben werden.

Lösung:
// Es wurde etwas geändert (Klick auf Radio-Button)
$('#personen-wrapper input:radio').change(function(){

        alert($('input[name=personen]:radio:checked').val());
       
      
    })

Openhab und Ecoflow Max - API Anbindung

 Ich wollte die neu erworbene Powerstation in Openhab einbinden, um den aktuellen Status (Ladestand etc.) über Openhab auswerten zu können. ...