Tili: (ODER JAVA SCRIPT) Mehrstellige Zahlen aufschlüsseln

mOin mOin

Ich habe folgendes Problem. Ich muss (möchte) eine dreistellige Zahl in drei einzelne Zahlen zerlegen, um sie dann jeweils durch eine Grafik zu ersetzten.

Also z.B. aus 140 soll werden:

<img src="../grafiken/z1.gif">
<img src="../grafiken/z4.gif">
<img src="../grafiken/z0.gif">

Ich bekomme diese Zahlen aus einem PHP Script, das ich Zugegebenerweise nicht selbst geschrieben habe und von PHP auch nicht so die Ahnung habe. Dieses Script möchte ich nun selber erweitern.

Das Script bzw. die Übergabe in meine Seite sieht wie folgt aus:

<TR BGCOLOR="#e1e1e1">
         <TD><B><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","NAME");</SCRIPT></B></TD>
         <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","BETRIEB");</SCRIPT></TD>
         <TD><B><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","PLAETZE_FREI");</SCRIPT></B></TD>
         <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","PLAETZE_GES");</SCRIPT></TD>
         <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","OFFEN_VON");</SCRIPT></TD>
         <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","OFFEN_BIS");</SCRIPT></TD>
      </TR>

Wenn mir jemand behilflich sein könnte schon mal vielen Dank im Voraus

Tili

  1. Hallo Tili,

    da ich die "Alte Freiheit" ja nun kenne wie meine Westentasche, muss ich darauf einfach antworten.

    angenommen:

    Zahlkomplett = DeinedreistelligeZahl;
    (Zahlkomplett = 275)

    dann ist

    Teil3 = Zahlkomplett % 10;
               <--     275 % 10 = 5     -->

    Zwischenergebnis = (Zahlkomplett - Teil3) / 10;
                                  <--    (275 - 5) / 10 = 27    -->

    Teil2 = Zwischenergebnis % 10;
               <--     27 % 10 = 7     -->

    Teil1 = (Zwischenergebnis - Teil2) / 10;
                                  <--     (27 - 7) / 10  = 2   -->

    Das kann man auf  x-stellige Zahlen erweitern, das Verfahren ist immer dasselbe.

    Viele Gruesse an die Schwebebahn

    Beate Mielke

    1. Viele Gruesse an die Schwebebahn

      Hab ich ausgerichtet.

      Und für alle die nicht wissen wer oder was die Schwebebahn ist:

      <img src="http://www.wuppertal.de/presse_und_stadtwerbung/bilder/s_bahn_spaziergang.jpg" alt="">

      und besucht auch <//www.wuppertal.de>

      womit ich mich als Angestelter im Öffenlichen Dienst (Stadtverwaltung) geoutet habe.

      Grüsse an alle

      Tili

  2. mOin mOin

    Ich habe folgendes Problem. Ich muss (möchte) eine dreistellige Zahl in drei einzelne Zahlen zerlegen, um sie dann jeweils durch eine Grafik zu ersetzten.

    Also z.B. aus 140 soll werden:

    <img src="../grafiken/z1.gif">
    <img src="../grafiken/z4.gif">
    <img src="../grafiken/z0.gif">

    Ich bekomme diese Zahlen aus einem PHP Script, das ich Zugegebenerweise nicht selbst geschrieben habe und von PHP auch nicht so die Ahnung habe. Dieses Script möchte ich nun selber erweitern.

    Das Script bzw. die Übergabe in meine Seite sieht wie folgt aus:

    <TR BGCOLOR="#e1e1e1">
             <TD><B><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","NAME");</SCRIPT></B></TD>
             <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","BETRIEB");</SCRIPT></TD>
             <TD><B><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","PLAETZE_FREI");</SCRIPT></B></TD>
             <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","PLAETZE_GES");</SCRIPT></TD>
             <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","OFFEN_VON");</SCRIPT></TD>
             <TD><SCRIPT LANGUAGE="php">park_daten("Alte Freiheit","OFFEN_BIS");</SCRIPT></TD>
          </TR>

    Wenn mir jemand behilflich sein könnte schon mal vielen Dank im Voraus

    Tili

    Hallo Tili,

    ein möglicher Weg ist, die numerische Variable in einen String umzuwandeln. Danach greifst Du stellenweise auf die einzelnen Zeichen im String zu und fügst diese Zeichen an den geeigneten Stellen in die konstanten Ausdrücke ein.

    Beispiel (Javascript):

    var zahl = 140;
    var s = zahl.toString();
    var ergebnis = "";
    for (var i=0; i < s.length; i++) {
      ergebnis += '<img src="../grafiken/z' + s.charAt(i) + '.gif">';
    }

    Viel Erfolg
    Jörg

  3. Hi!

    ...und nochmal mit php3 (damit's auch bei ausgeschaltetem JavaScript funkt) ;-)

    <?php
    for ($i=0; $i<strlen($zahl); $i++)
    {
      echo "<img src="bild".substr($zahl, $i, 1).".gif">";
    }

    ?>

    $zahl ... die zahl die du zerlegen willst.
    Ausgegeben wird dann <img src="bild1.gif><img src="bild4.gif"> etc.

    In deinem Fall sieht es so aus, daß die Funktion park_daten die Ausgabe erledigt. Das kleine Script oben mußt du also dort einfügen.

    mfG
    BRAND