Ankündigung

Einklappen
Keine Ankündigung bisher.

0.00 Werte nicht anzeigen

Einklappen

Neue Werbung 2019

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

  • 0.00 Werte nicht anzeigen

    Hallo Zusammen

    Ich möchte bei einer Berechnung den Wert 0.00 nicht anzeigen.

    Anbei ein Ausschnitt.

    <td>Essen</td>
    <td align='center'>".$dsatz["essen"]."</td>
    <td align='right'>".$dsatz["preis"]."</td>
    <td align='right'>".$dsatz["rabatt"]."</td>
    <td align='right'>".$dsatz["preistotal"]."</td>
    </tr>

    Wenn ich keinen Rabatt gebe, dann zeigt es mir im Ausgabeformular 0.00 an.
    Ich möchte, jedoch, dass nichts angezeigt wird, wenn ich keinen Rabatt gebe.

    Kann mir jemand sagen, wie ich dieses Feld Unsichtbar mache, wenn der Wert 0 ist?
    Resp. erst etwas angezeigt wird, wenn der Wert grösser als 0 ist?

    Danke


  • #2
    in erster linie musst du deine php variable escapen mit \" oder du nutzt einfach ':

    PHP-Code:
    $dsatz['rabatt'
    warum prüfst du vorher den wert nicht einfach und setzt dann ein css attribut?

    PHP-Code:
    if($dsatz['rabatt'] == '0.00'){echo 'style=\'display:none\''

    Kommentar


    • #3
      Moin,

      bitte mal ein paar Tutorials durcharbeiten. Sobald du beim Thema Kontrollstrukturen ankommst, triffst du auf die Lösung für deine wirklich einfache Herausforderung.

      http://php-de.github.io/jumpto/grund...len/#tutorials
      http://www.peterkropff.de/site/php/grundlagen.htm
      Relax, you're doing fine.
      RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

      Kommentar


      • #4
        Hallöchen,

        Zitat von Yann2006 Beitrag anzeigen
        PHP-Code:
        if($dsatz['rabatt'] == '0.00'){echo 'style=\'display:none\''
        Und wenn der Wert jetzt doch mal ein Integer, also ein 0, ist? Besser wäre:

        PHP-Code:
        if($rabatt){ .. } 
        Und wieso mit display:none herumfummeln? Im Idealfall wird der Zelleninhalt gar nicht erst gerendert.

        @TE: Du solltest dich dringend mit aktuellen Standards beschäftigen. Dein align gehört nämlich ins CSS.

        Viele Grüße,
        lotti

        Kommentar


        • #5
          Ich denke

          PHP-Code:
          echo "<td>Essen</td>
          <td align='center'>"
          .$dsatz["essen"]."</td>
          <td align='right'>"
          .$dsatz["preis"]."</td>
          <td align='right'>"
          .( $dsatz["rabatt"] == '0.00' '' $dsatz['rabatt'] )."</td>
          <td align='right'>"
          .$dsatz["preistotal"]."</td>"
          ist eher was er sich vorstellt.
          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

          Kommentar


          • #6
            Zitat von lottikarotti Beitrag anzeigen
            Und wenn der Wert jetzt doch mal ein Integer, also ein 0, ist?
            Das es ein Wert "0" statt "0.00" sein kann hatte ich nicht bedacht, allerdings wird vermutlich der Preisrabatt von einem Skript berechnet, dort kann man also festlegen das der Wert "0" immer als "0.00" gerendert wird.

            Zitat von lottikarotti Beitrag anzeigen
            Und wieso mit display:none herumfummeln? Im Idealfall wird der Zelleninhalt gar nicht erst gerendert.
            Das ist richtig, allerdings behält er sich so die Möglichkeit vor (vielleicht auf Wunsch des Betrachters) den Rabatt auch anzuzeigen wenn der Wert "0.00" ist.

            Kommentar


            • #7
              Vielen Dank für die Antworten und Ratschläge.

              Genau der Vorschlag von tr0y ist das was ich gesucht habe.

              Super

              Kommentar


              • #8
                Hallöchen,

                Zitat von Yann2006 Beitrag anzeigen
                Das es ein Wert "0" statt "0.00" sein kann hatte ich nicht bedacht, allerdings wird vermutlich der Preisrabatt von einem Skript berechnet, dort kann man also festlegen das der Wert "0" immer als "0.00" gerendert wird.
                Wieso sollte man das tun? Generell macht es keinen Sinn einen numerischen Wert gegen eine Zeichenkette zu prüfen.

                Zitat von Yann2006 Beitrag anzeigen
                Das ist richtig, allerdings behält er sich so die Möglichkeit vor (vielleicht auf Wunsch des Betrachters) den Rabatt auch anzuzeigen wenn der Wert "0.00" ist.
                Dann macht es doch deutlich mehr Sinn zu einer Template-Engine zu greifen und einen entsprechenden Filter zu implementieren. Ich nutze bspw. Twig und mache das so in der Art:
                PHP-Code:
                <td>{{ price number_format | default }}</td
                Der default-Filter gibt bspw. einen Bindestrich ("-") aus, sofern der Wert 0 ist. Dieses Verhalten lässt sich natürlich zentral konfigurieren.

                Viele Grüße,
                lotti

                Kommentar

                Lädt...
                X