Zuordnung ueber Zeichenkette

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

  • Zuordnung ueber Zeichenkette

    Hallo,
    ich habe eine DB-Tabelle mit 2 Spalten. In der Ersten wird eine 6stellige Nummer in der Zweiten der dazugehoerige Name gehalten. Die Nummer brauche ich um Werten einer anderen Tabelle den entsprechenden Name zuzuordenen und zu kategorisieren. Jetzt moechte ich mir die Namen als Liste (DropDown) ausgeben lassen, das klappt schon. Alledings sollen die Namen dann noch eingerueckt werden.

    Bsp:
    Nummer Name
    100000 Kategorie 1
    110000 ->Kategorie 2
    111000 -->Kategorie 3
    usw.

    Hat jemand eine Idee wie ich die Nummern ruckwaerts bis !=0 auslesen kann?
    Danke, Photek

  • #2
    Ein Denkansatz (wenn Du wirklich nur mit Nullen und Einsen arbeitest):

    - Nummer in einen String wandeln
    - Nullen rauslöschen
    - Anzahl der übrigen Stellen ergibt die Stufe der Kategorie
    - Abhängig von der Stufe entsprechende Einrückungen bei der Ausgabe vornehmen

    Oder meintest Du den SQL-Query?

    SELECT Nummer, Name FROM Tabelle ORDER BY Nummer DESC
    Zuletzt geändert von DSB; 21.08.2003, 14:19.

    Kommentar


    • #3
      Hallo, ich arbeite nat. nicht nur mit 1+0. Es kann auch die Nummer z.B. 205630 auftreten. Dann von rechts nur eine 0-->Kat. 5 usw.
      Ich darf also nur die Nullen von Rechts lesen od. strrev und linksherum...
      Danke, Photek

      Kommentar


      • #4
        Original geschrieben von photek
        Hallo, ich arbeite nat. nicht nur mit 1+0. Es kann auch die Nummer z.B. 205630 auftreten. Dann von rechts nur eine 0-->Kat. 5 usw.
        Ich darf also nur die Nullen von Rechts lesen od. strrev und linksherum...
        dann würde sich eventuell eine abfrage des divisionsrestes beim teilen durch zehner-potenzen anbieten.

        Code:
        205630 % 10^5 = 5630
        205630 % 10^4 = 5630
        205630 % 10^3 =  630
        205630 % 10^2 =   30 
        205630 % 10^1 =    0
        205630 % 10^0 =    0
        du gehst also diese berechnung von oben nach unten durch (dazu bietet sich z.b. eine for-schleife von 5 bis 0 an), und sobald zum ersten mal kein divisionsrest rauskommt, hast du deine kategorie-stufe gefunden.
        die kategorie-stufe ist dann gleich 6 minus dem wert, den dein schleifen-zähler gerade hat, wenn zum ersten mal 0 als divisionsrest rauskommt - in diesem falle also 6 - 1 = 5.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Lsg.

          Hallo wahsaga,

          ich habe es jetzt so gemacht:

          <?PHP
          $anzahl_rechte_nullen = strlen($string) - strlen(strrev($string)+0);
          //echo "Anzahl der rechten Nullen: ". $anzahl_rechte_nullen."<br/>";

          switch ($anzahl_rechte_nullen)
          {
          case "6":
          echo "------>";
          break;
          case "5":
          echo "----->";
          break;
          case "4":
          echo "---->";
          break;
          case "3":
          echo "--->";
          break;
          case "2":
          echo "-->";
          break;
          case "1":
          echo "->";
          break;
          case "0":
          echo "+";
          break;
          }
          ?>

          Danke, Pho Tek

          Kommentar


          • #6
            Re: Lsg.

            Den Pfeil würd ich mit print str_repeat("-",$anzahl).">"; machen...

            7-/anz

            Kommentar

            Lädt...
            X