Re: manchmal kommt man auch... - 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 Sander (8133 Beiträge) am Freitag, 27.Mai.2005, 15:45.
    Re: manchmal kommt man auch...

      wenn du beim zieltemplate mit get arbeitest, mußt du die Leerzeichen mit \ schützen


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (500 Beiträge) am Freitag, 27.Mai.2005, 13:50.
    Unterschiedliche Rubriken und deren Anzahl

      Hallo Zusammen,

      ich habe eine Datenbank in der u.a. das Feld "Rubrik" vorkommt. Die Einträge in diesem Feld können in der Datenbank mehrmals vorkommen.

      Ich will nun (über while (get_next)) eine Übericht aller enthaltenen Rubriken ausgeben und dabei deren Anzahl anzeigen lassen.

      In etwa so:

      Sport (10)
      Nachrichten (3)
      Firmen (5)
      ...

      Hat da jemand eine Idee?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Freitag, 27.Mai.2005, 14:40.
    Re: Unterschiedliche Rubriken und deren Anzahl

      ich hab's mal so probiert:

      <perl>
      %seenrubrik = (); #Hash zum sammeln der anzahl im Key.
      get ["Id","==","*"],"db";
      while (get_next("db"))
      {
      push @rubriken,$Favrubrik unless $seenrubrik{$Favrubrik}++; 
      my @sortrubriken = sort(@rubriken);
      out "Rubrik: <br>";
      foreach $rub (@sortrubriken)
        {
         out "$rub ($seenrubrik{$rub})<br>";
        }
      out "<br>";
      }
      </perl>
      
      Das Ergebnis sieht so aus:
      Rubrik:
      Firmen (1)

      Rubrik:
      Computer & Technik (1)
      Firmen (1)

      Rubrik:
      Computer & Technik (1)
      Firmen (1)
      Nachrichten & Medien (1)

      Rubrik:
      Computer & Technik (1)
      Firmen (2)
      Nachrichten & Medien (1)

      Rubrik:
      Computer & Technik (1)
      Firmen (2)
      Nachrichten & Medien (1)
      Reisen & Freizeit (1)

      Es werden also nach jedem gefundenen DS die bisherigen ausgeworfen...

      Irgendwo fehlt wohl noch etwas?!

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Freitag, 27.Mai.2005, 14:44.
    manchmal kommt man auch...

      ...mit Selbstgesprächen zum Ziel... ;-)

      "while (get_next)" muss nach push geschlossen werden... dann klappt's...

      <perl>
      %seenrubrik = (); #Hash zum sammeln der anzahl im Key.
      get ["Id","==","*"],"db";
      while (get_next("db"))
      {
      push @rubriken,$Favrubrik unless $seenrubrik{$Favrubrik}++; 
      }
      my @sortrubriken = sort(@rubriken);
      out "Rubrik: <br>";
      foreach $rub (@sortrubriken)
      {
         out "$rub ($seenrubrik{$rub})<br>";
      }
      out "<br>";
      </perl>
      

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 27.Mai.2005, 15:01.
    Re: manchmal kommt man auch...

      oder kürzer, das push und die Liste kannste sparen

      <perl>
      %seenrubrik = (); #Hash zum sammeln der anzahl im Key.
      get ["Id","==","*"],"db";
      while (get_next("db"))
      {
      $seenrubrik{$Favrubrik}++; 
      }
      out "Rubrik: <br>";
      foreach $rub (sort keys %seenrubrik)
      {
       out "$rub ($seenrubrik{$rub})<br>";
      }
      out "<br>";
      </perl>
      

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Freitag, 27.Mai.2005, 15:24.
    Re: manchmal kommt man auch...

      ...nicht...

      klappt bei mir so nicht.

      Aber wo du gerade da bist... ;-)

      Ich will die Variable $rub in eine Url packen und darüber die Datebank aufrufen und alle DS mit $rub ausgeben.

      Das funktioniert solange kein Leerzeichen in $rub ist. Mit Leerzeichen klappt es nicht - auch nicht mit convert_url! Muss ich im Zieltemplate convert_url wieder rückgängig machen? Und wenn ja, wie?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 27.Mai.2005, 15:45.
    Re: manchmal kommt man auch...

      wenn du beim zieltemplate mit get arbeitest, mußt du die Leerzeichen mit \ schützen

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Freitag, 27.Mai.2005, 16:39.
    Re: manchmal kommt man auch...

      meine Url sieht so aus:

      out "<a href='baseportal.pl?htx=$htx&Rubrik=".convert_url($rub)."&cmd=auswahl'>$rub</a> ($seenrubrik{$rub})<br>";
      

      Durch das convert_url werden die Leerstellen durch + ersetzt. Wie verarbeite ich das denn im Zieltemplate?

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Freitag, 27.Mai.2005, 18:12.
    Re: manchmal kommt man auch...

      ...wieder selber darauf...

      $Rubrik=~s/\+/\ /gi;
      get ["Rubrik", "==", "$Rubrik", "sort=Titel"],"db";
      

      Für Verbesserungsvorschläge bin ich dankbar...

      Grüße
      Oliver ;-)

     Antworten


     
 Liste der Einträge von 24151 bis 24301: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.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!