ilch Forum » Allgemein » HTML, PHP, SQL,... » [ERLEDIGT] Preise formatieren

Geschlossen
  1. #1
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Folgendes:

    Ich parse ein Template und habe nun in meiner Abfrage einen Preis, der mir ausgegeben wird. Im Template erhalte ich den Preis über {PREIS}

    Nun möchte ich den Preis formatiert darstellen:

    Aktuell: 1600
    Ich möchte: 1.600,00

    folgendes habe ich schon probiert:

    $preis = number_format($row->preis,2, ",", ".");
    $tpl->set_ar_out($row,0);
    ...
    $row['preis'] = $preis;
    ...


    Leider wird mir der Preis immer noch ohne eine Formatierung angezeigt... woran liegt das?


    verwendete ilch Version: 1.1 P

    betroffene Homepage: externer Link
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Schau dir die Funktion number_format an, muss in der php Datei vor Übergabe ans Template aufgerufen werden.


    Zuletzt modifiziert von Mairu am 19.11.2013 - 19:12:03
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Leider ohne Erfolg...

    Ich habe es danach mal mit dem italienischem Format für Zahlen probiert, ebenfalls erfolglos, die Ausgabe erfolgt weiterhin im Format 1600 anstatt 1.600,00 €

    ...
    $sql = db_query($query);
    	$row = db_fetch_assoc($sql);
    	$preis = $row->preis;
    	setlocale(LC_MONETARY, 'it_IT');
    	$preisneu = money_format('%.2n', $preis);
    	$kmstand = number_format($row->kilometerstand,0, ",", ".");
    	$tpl = new tpl ( 'gebrauchtwagenanzeigen.htm' );
    $tpl->set_ar_out($row,0);
    // Übergabe der Var-Namen an das Template
    ...
    $row['preis'] = $preisneu;
    ...
    ?>



    Zuletzt modifiziert von CeeJay am 20.11.2013 - 11:48:09
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    Das Prinzip ist schon richtig

    $preis = number_format($row->preis, 2, ',', '.');


    aber, wie Mairu schon erwähnte, ist deine Templateausgabe $tpl->set gem. dem Codeschnipsel vor $row['preis'] = ??? somit wird natürlich die Formatierung nicht mit übergeben.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Wenn ich die Templateausgabe aber unter den array packe, wird mir nix ausgegeben -.- das Format stimmt dann aber ...

    ansonsten mal hier der Code:

    <?php 
    #   Copyright by: CeeJay
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    $id = $_POST['id'];
    //Headerdaten
    $title = $allgAr['title'].' :: Inserats-ID: '.$id;
    $design = new design ( $title , $hmenu );
    $design->header();
    
    	$query = 'SELECT `id`,`vorname`,`nachname`,`email`,`hausnummer`,`ort`,`postleitzahl`,`baujahr`, `baumonat`, `strasse`,`bearbeiten`,`akgebrauchtwagen`,`airbag`,`allrad`,`alufelgen`,`anhaengerkupplung`,`anrede`,`antiblockiersystem`,`behindertengerecht`,`bild1`,`bild2`,`bild3`,`bild4`,`bild5`,`bild6`,`bild7`,`bordcomputer`,`dachreling`,`datetime`,`einparkhilfe`,`elektronischefensterheber`,`elektronischverstellbaresitze`,`esp`,`farbe`,`getriebe`,`karosserie`,`kilometerstand`,`klima`,`kraftstoff`,`kurvenlicht`,`maengelbeschreibung`,`marke`,`mobil`,`model`,`multifunktionslenkrad`,`navi`,`nebelscheinwerfer`,`nichtraucherfahrzeug`,`panoramadach`,`preis`,`ps`,`radio`,`regensensor`,`rueckfahrkamera`,`schiebedach`,`servo`,`sitzheizung`,`skisack`,`sportfahrwerk`,`sportpaket`,`sportsitze`,`standheizung`,`startstopautomatik`,`tagfahrlicht`,`telefon`,`tempomat`,`tuvaubismonat`,`tuvaubisjahr`,`vorwahl`,`xenonscheinwerfer`,`zentralverriegelung` FROM `prefix_gebrauchtwagen` WHERE `id` ="' . $id . '"';
    	
    	$sql = db_query($query);
    	$row = db_fetch_assoc($sql);
    	$tpl = new tpl ( 'gebrauchtwagenanzeigen.htm' );
    	$tpl->set_ar_out($row,0);
    // Übergabe der Var-Namen an das Template
    $row['id'] = $row->id;
    $row['vorname'] = $row->vorname;
    $row['nachname'] = $row->nachname;
    $row['email'] = $row->email;
    $row['hausnummer'] = $row->hausnummer;
    $row['postleitzahl'] = $row->postleitzahl;
    $row['baumonat'] = $row->baumonat;
    $row['baujahr'] = $row->baujahr;
    $row['strasse'] = $row->strasse;
    $row['airbag'] = $row->airbag;
    $row['allrad'] = $row->allrad;
    $row['alufelgen'] = $row->alufelgen;
    $row['anhaengerkupplung'] = $row->anhaengerkupplung;
    $row['anrede'] = $row->anrede;
    $row['antiblockiersystem'] = $row->antiblockiersystem;
    $row['behindertengerecht'] = $row->behindertengerecht;
    $row['bild1'] = $row->bild1;
    $row['bild2'] = $row->bild2;
    $row['bild3'] = $row->bild3;
    $row['bild4'] = $row->bild4;
    $row['bild5'] = $row->bild5;
    $row['bild6'] = $row->bild6;
    $row['bild7'] = $row->bild7;
    $row['bordcomputer'] = $row->bordcomputer;
    $row['dachreling'] = $row->dachreling;
    $row['datetime'] = $row->datetime;
    $row['einparkhilfe'] = $row->einparkhilfe;
    $row['elektronischefensterheber'] = $row->elektronischefensterheber;
    $row['elektronischverstellbaresitze'] = $row->elektronischverstellbaresitze;
    $row['esp'] = $row->esp;
    $row['farbe'] = $row->farbe;
    $row['getriebe'] = $row->getriebe;
    $row['karosserie'] = $row->karosserie;
    $row['kilometerstand'] = ->kilometerstand;
    $row['klima'] = $row->klima;
    $row['kraftstoff'] = $row->kraftstoff;
    $row['kurvenlicht'] = $row->kurvenlicht;
    $row['maengelbeschreibung'] = $row->maengelbeschreibung;
    $row['marke'] = $row->marke;
    $row['mobil'] = $row->mobil;
    $row['model'] = $row->model;
    $row['multifunktionslenkrad'] = $row->multifunktionslenkrad;
    $row['navi'] = $row->navi;
    $row['nebelscheinwerfer'] = $row->nebelscheinwerfer;
    $row['nichtraucherfahrzeug'] = $row->nichtraucherfahrzeug;
    $row['panoramadach'] = $row->panoramadach;
    $row['preis'] = $row->preis;
    $row['ps'] = $row->ps;
    $row['radio'] = $row->radio;
    $row['regensensor'] = $row->regensensor;
    $row['rueckfahrkamera'] = $row->rueckfahrkamera;
    $row['schiebedach'] = $row->schiebedach;
    $row['servo'] = $row->servo;
    $row['sitzheizung'] = $row->sitzheizung;
    $row['skisack'] = $row->skisack;
    $row['sportfahrwerk'] = $row->sportfahrwerk;
    $row['sportpaket'] = $row->sportpaket;
    $row['sportsitze'] = $row->sportsitze;
    $row['standheizung'] = $row->standheizung;
    $row['startstopautomatik'] = $row->startstopautomatik;
    $row['tagfahrlicht'] = $row->tagfahrlicht;
    $row['telefon'] = $row->telefon;
    $row['tempomat'] = $row->tempomat;
    $row['tuvaubismonat'] = $row->tuvaubismonat;
    $row['tuvaubisjahr'] = $row->tuvaubisjahr;
    $row['vorwahl'] = $row->vorwahl;
    $row['xenonscheinwerfer'] = $row->xenonscheinwerfer;
    $row['zentralverriegelung'] = $row->zentralverriegelung;
    ?>


    Die bisherigen Zahlenformatierungen habe ich jetzt mal entfernt.

    ZitatZitat geschrieben von Lord|Schirmer
    Das Prinzip ist schon richtig

    $preis = number_format($row->preis, 2, ',', '.');


    aber, wie Mairu schon erwähnte, ist deine Templateausgabe $tpl->set gem. dem Codeschnipsel vor $row['preis'] = ??? somit wird natürlich die Formatierung nicht mit übergeben.
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    Du hast immer noch den Fehler in der Reihenfolge:

    DB-Abfrage (SELECT)
    Formatierung (number_format usw.)
    Template Ausgabe ($tpl->set)

    Also:

    <?php 
    #   Copyright by: CeeJay
    #   Support: www.ilch.de
     
    defined ('main') or die ( 'no direct access' );
    $id = $_POST['id'];
    
    $title = $allgAr['title'] . ' :: Inserats-ID: ' . $id;
    $design = new design ( $title , $hmenu );
    $design->header();
    $tpl = new tpl ('gebrauchtwagenanzeigen.htm'); 
    
    $query = 'SELECT `id`,`vorname`,`nachname`,`email`,`hausnummer`,`ort`,`postleitzahl`,`baujahr`, `baumonat`, `strasse`,`bearbeiten`,`akgebrauchtwagen`,`airbag`,`allrad`,`alufelgen`,`anhaengerkupplung`,`anrede`,`antiblockiersystem`,`behindertengerecht`,`bild1`,`bild2`,`bild3`,`bild4`,`bild5`,`bild6`,`bild7`,`bordcomputer`,`dachreling`,`datetime`,`einparkhilfe`,`elektronischefensterheber`,`elektronischverstellbaresitze`,`esp`,`farbe`,`getriebe`,`karosserie`,`kilometerstand`,`klima`,`kraftstoff`,`kurvenlicht`,`maengelbeschreibung`,`marke`,`mobil`,`model`,`multifunktionslenkrad`,`navi`,`nebelscheinwerfer`,`nichtraucherfahrzeug`,`panoramadach`,`preis`,`ps`,`radio`,`regensensor`,`rueckfahrkamera`,`schiebedach`,`servo`,`sitzheizung`,`skisack`,`sportfahrwerk`,`sportpaket`,`sportsitze`,`standheizung`,`startstopautomatik`,`tagfahrlicht`,`telefon`,`tempomat`,`tuvaubismonat`,`tuvaubisjahr`,`vorwahl`,`xenonscheinwerfer`,`zentralverriegelung` FROM `prefix_gebrauchtwagen` WHERE `id` ="' . $id . '"';
    $sql = db_query($query);
    $row = db_fetch_assoc($sql);
    
    $row['preis'] = number_format($row['preis'], 2, ',', '.');
    
    $tpl->set_ar_out($row,0);
    ?>


    Die anderen Angaben sind nicht notwendig, sofern keine Veränderung an den DB Einträgen stattfindet und sofern alle Daten aus der DB der Tabelle geladen werden reicht auch ein SELECT * FROM ...


    Zuletzt modifiziert von Lord|Schirmer am 20.11.2013 - 13:53:09
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Super! Hat funktioniert!

    Mein Fehler war, das ich bei der Zahlenformatierung nicht $row['preis'] hatte, sondern $row->preis, von der Reihenfolge her hatte ich das schon richtig.
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    erledigt
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten