Re: Sort-Befehl oder andere? - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Pouraga (1396 Beiträge) am Sonntag, 23.Februar.2003, 19:00.
    Re: Sort-Befehl oder andere?

      Boa!
      Da must ich selber lange überlegen was du da eigendlich mit bezwecken willst. *g*

      Hier mal ein ausschnitt aus selfhtml (dann wird klar warum es nicht funktioniert):


      -----------------------------
      Hashes werden intern in einer Datenstruktur gespeichert, die für Effizienz bei Schreib- und Lesezugriffen sorgt. Aufgrund dieser Tatsache ist die Reihenfolge der Schlüssel, wie sie beispielsweise von der Funktion keys">keys geliefert wird, (scheinbar) mehr oder weniger zufällig und stimmt nur in den seltensten Fällen mit der Reihenfolge überein, in der Sie den Hash deklariert haben. Sie haben keine Möglichkeit, diese Reihenfolge zu verändern. Es hält Sie allerdings niemand davon ab, die Hash-Elemente in einer bestimmten Reihenfolge beispielsweise mit einer Schleife zu durchlaufen. So können Sie z.B. mit @sortierteSchluessel = sort keys %Daten die Schlüssel des Hashes %Daten alphabetisch sortieren und diese sortierte Liste von Schlüsseln dem Array @sortierteSchluessel zuweisen. So eine sortierte Liste von Schlüsseln können Sie anschließend (mit einer Schleife beispielsweise) benutzen, um die einzelnen Hashelemente in eben dieser sortierten Reihenfolge zu verarbeiten. Dabei können Sie wahlweise nach Schlüsseln oder nach Werten sortieren. Dazu müssen Sie allerdings ein paar Perl-Funktionen sowie eine Schleife anwenden. Im Abschnitt über Schleifen finden Sie eine Beschreibung zum Thema

      -------------------------

      Aber warum so umständlich? (mein meister pflegt in solchen Situationen zu sagen "man kann sich auch nen Ring durch die Nase ziehen" *g*)

      tut es ein:
      --------------
      get "Modell==*" ,"main";
      while(get_next(main))
      {
      out "<option>$Modell</option>";
      } 
      
      --------------

      nicht auch?
      Dann ist es auf jeden richtig sortiert.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Toralf (101 Beiträge) am Sonntag, 23.Februar.2003, 12:10.
    Sort-Befehl oder andere?

      Ich lese die Datenbank:

      <perl>
      #
      # --- Modell Optionen auslesen ---
      #
      get "Modell==*" ,"main";
      while(get_next(main))
      {
      $optionen{$Modell}++;
      }
       
      foreach (keys %optionen)
      {
      out "<option>$_</option>";
      }
       
      </perl>
      

      Funktioniert bis hierher auch einwandfrei. Nur bei der Sortierung gibt es Probleme. Ich möchte alphabetisch ordnen, d.h. Modell "A" oben........"Z" ganz unten. Der Befehl "sort=-" tat nicht helfen.

      Danke

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Sonntag, 23.Februar.2003, 19:00.
    Re: Sort-Befehl oder andere?

      Boa!
      Da must ich selber lange überlegen was du da eigendlich mit bezwecken willst. *g*

      Hier mal ein ausschnitt aus selfhtml (dann wird klar warum es nicht funktioniert):


      -----------------------------
      Hashes werden intern in einer Datenstruktur gespeichert, die für Effizienz bei Schreib- und Lesezugriffen sorgt. Aufgrund dieser Tatsache ist die Reihenfolge der Schlüssel, wie sie beispielsweise von der Funktion keys">keys geliefert wird, (scheinbar) mehr oder weniger zufällig und stimmt nur in den seltensten Fällen mit der Reihenfolge überein, in der Sie den Hash deklariert haben. Sie haben keine Möglichkeit, diese Reihenfolge zu verändern. Es hält Sie allerdings niemand davon ab, die Hash-Elemente in einer bestimmten Reihenfolge beispielsweise mit einer Schleife zu durchlaufen. So können Sie z.B. mit @sortierteSchluessel = sort keys %Daten die Schlüssel des Hashes %Daten alphabetisch sortieren und diese sortierte Liste von Schlüsseln dem Array @sortierteSchluessel zuweisen. So eine sortierte Liste von Schlüsseln können Sie anschließend (mit einer Schleife beispielsweise) benutzen, um die einzelnen Hashelemente in eben dieser sortierten Reihenfolge zu verarbeiten. Dabei können Sie wahlweise nach Schlüsseln oder nach Werten sortieren. Dazu müssen Sie allerdings ein paar Perl-Funktionen sowie eine Schleife anwenden. Im Abschnitt über Schleifen finden Sie eine Beschreibung zum Thema

      -------------------------

      Aber warum so umständlich? (mein meister pflegt in solchen Situationen zu sagen "man kann sich auch nen Ring durch die Nase ziehen" *g*)

      tut es ein:
      --------------
      get "Modell==*" ,"main";
      while(get_next(main))
      {
      out "<option>$Modell</option>";
      } 
      
      --------------

      nicht auch?
      Dann ist es auf jeden richtig sortiert.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 23.Februar.2003, 19:54.
    Re: Sort-Befehl oder andere?

      nur bei dir hast du das Problem, wenn 2x das gleiche Modell drin ist, bringt es 2 gleiche Optionen..., will ja keiner. mit dem ersten Code wird die option nur einmal gespeichert.
      Aber selfhtml ist ne coole Quelle ;-)
      da findet man sort
      foreach (sort keys %optionen)
      {
      out "<option>$_</option>";
      }
      

      Sander

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Sonntag, 23.Februar.2003, 21:48.
    Re: Sort-Befehl oder andere?

      Jo, stand ja auch schon in dem anderen Text.
      Nur mier viel voher keinen Grund ein warum man das in ein Hash laden sollte.

      Das ist einer! :)

     Antworten

    Beitrag von Toralf (101 Beiträge) am Montag, 24.Februar.2003, 09:36.
    Re: Sort-Befehl oder andere?

      Schon richtig, aber kommt ein Modell mehrmals vor in unterschiedlichen DS wird es halt dementsprchend oft gelistet.

      Aber so funktioniert es:
      get "Modell==*" ,"main";
      while(get_next(main))
      {
      $optionen{$Modell}++;
      }
       
      foreach (sort (keys %optionen))
      

      {
      out "<option>$_</option>";
      }
      

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Montag, 24.Februar.2003, 16:41.
    Re: Sort-Befehl oder andere?

      >Schon richtig, aber kommt ein Modell mehrmals vor in 
      >unterschiedlichen DS wird es halt dementsprchend oft 
      >gelistet.
      

      Ich meine dein Problem ist ja gelöst, aber nur mal so für mich aus Intresse. (ich bin halt neugierig *g*)

      Wenn es das nicht ist, wofür machst du das ganze dann (Umweg über Hash)?

     Antworten

    Beitrag von Toralf (101 Beiträge) am Montag, 24.Februar.2003, 23:54.
    Re: Sort-Befehl oder andere?

      stell dir vor du hast ne Db in der du alle einträge speicherst. in einem suchfeld will ich nun nur erscheinen lassen, was auch wirklich schon eingetragen wurde und damit hole ich diese.

      Mfg

     Antworten


     
 Liste der Einträge von 40351 bis 40501:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!