Zahlen einzeln an Smarty übergeben?

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

  • Zahlen einzeln an Smarty übergeben?

    Hallo zusammen

    Ich habe folgende Frage. Ich lese aus einer MySQL-DB eine Summe aus, welche ich dann per Smarty an ein html Formular übergebe.

    Der Sinn des ganzen ist ein Rechnungsformular, welches direkt bedruckt werden soll. Das Rechnungsformular ist so aufgebaut, dass die oberen 2 Drittel für den normalen Schreibkram zur Verfügung stehen, während unten der Einzahlungsschein angehängt ist.

    Nun möchte ich erreichen, dass die Endsumme direkt in die entsprechenden Felder des Einzahlungsscheines gedruckt werden.

    Da der Einzahlungsschein für jede Zahl ein eigenes Kästchen vorgibt, möchte ich erreichen, dass mein Gesamtbetrag direkt in diese Kästchen gedruckt wird. Meine Frage nun. Gibt es eine Möglichkeit, den Endbetrag aus der Datenbank auszulesen und dann so zu formatieren, dass die jeweilige Zahl bzw. die einzelnen Ziffern per Smarty positioniert werden können?

    Vielleicht kennt ja jemand einen Trick? Momentan kann ich den Gesamtbetrag nur als Ganzes übergeben. Dies sieht etwas besch.. aus.

    Gruss jpx10

  • #2
    Re: Zahlen einzeln an Smarty übergeben?

    Original geschrieben von jpx10
    Da der Einzahlungsschein für jede Zahl ein eigenes Kästchen vorgibt, möchte ich erreichen, dass mein Gesamtbetrag direkt in diese Kästchen gedruckt wird. Meine Frage nun. Gibt es eine Möglichkeit, den Endbetrag aus der Datenbank auszulesen und dann so zu formatieren, dass die jeweilige Zahl bzw. die einzelnen Ziffern per Smarty positioniert werden können?
    Du hast also eine Zahl wie 1234.56 und willst sie in die 7 rechtesten Ziffernkästchen eines Einzahlungsbeleges setzen?
    Nun in PHP ist jede Zahl auch String, wenn man es wünscht (notfalls durch casting) und jeder String ist ein Array von Zeichen, auf die man einzeln zugreifen kann.
    Das Positionieren ist natürlich eine Sache von CSS.

    In reinem PHP würde das so aussehen:
    PHP-Code:
    $sum = (string) 1234.56;
    for (
    $i 0$i strlen($sum); $i++) {
        
    // $sum{$i} könnte Smarty anders interpretieren
        
    echo '<div class="number" id="num-'.$i.'">'.$sum[$i].'</div>';

    Smarty kennt Schleifen und Arrays, soviel weiß ich. Ob Smarty auch den Zugriff auf einzelne Zeichen via $string[pos] erlaubt, weiß ich nicht. Kannst du aber ganz schnell selbst rausfinden.

    Falls ich dich mißverstanden habe und du eigentlich vorausgefüllte Inputs erzeugen willst, dann ersetze die DIVs einfach durch eben solche.

    Kommentar


    • #3
      ich würde mit der Eigenschaft letter-spacing in CSS rum probieren, bis es passt, die Zahl in PHP soll natürlich weiterhin als Zahl bleiben

      Kommentar


      • #4
        Herzlichen Dank euch beiden Das hilft mir doch schon einmal weiter!

        Kommentar

        Lädt...
        X