Re: Blättern bei relevanten Datensätzen???????? - 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 LAGGY (11 Beiträge) am Dienstag, 24.September.2002, 01:08.
    Re: Blättern bei relevanten Datensätzen????????

      Hab ich auch schon versucht.
      In Grundsuche, wird der Wert aus dem Form von Test1 übergeben.
      Wenn ich das in das Loop packe, dann bekomme ich immer eine Fehlermeldung. Das Feld existiert nicht in der DB Wohnung. Kanns ja auch net ;-)
      Ich denke, das mein Problem mit dem "Range" zusammenhängt.
      Aber ich hab keine Ahnung wie ich da ansetzen soll.
      Wenn ich es weglasse, dann bekomme ich alle DS angezeigt und die Blätterfunktion hat dann auch Schwierigkeiten (wenn ich mich recht erinnere)
      Wenn es drinnbleibt, werden nur die ersten 6 DS durchsucht, aber wenn der erste relevante DS der 7. oder 8. ist, wird mir gar nix angezeigt.
      sehen kann man das, wenn man dann nach einer 5-Zimmer Wohnung sucht. Die erste 5-Zimmer Wohnung ist nämlich der 7. oder 8. Datensatz.
      Irgendwo stehe ich da auf der Leitung und komm nicht mehr weiter.

      Laggy


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von LAGGY (11 Beiträge) am Montag, 23.September.2002, 22:57. WWW: laggyweb
    Blättern bei relevanten Datensätzen????????

      Ich habe ein kleines Problem!!
      Ich habe eine Datenbank mit Immobilien.
      Jetzt brauch ich eine Blätterfunktion, die mir bei bestimmten Bedingungen die jeweils relevanten Datensätze anzeigt. D.h. wenn ich nach 2-Zimmerwohnungen suche, sollen auch die ersten 6 davon ausgegeben werden.
      Nun passiert aber folgendes:
      Da ich die Ausgabe der Datensätze mit <loop db="Wohnung" range^=0,$Browseamount code=perl> habe, werden nur die ersten 6 Datensätze durchsucht.
      Wenn ich das RANGE rausnehme, werden mir ja komplett alle Datensätze angezeigt, was ich nicht haben will, da in der DB auch Daten von Grundstücken usw. enthalten sind.
      Ansehen könnt ihr es unter:
      http://baseportal.de/baseportal/Laggy/Test1
      von hier aus kommt ihr dann in das Template "Wohnung"
      hier ist der Code dazu:

      <html><head><title>Immonet Datenbank Wohnungen</title></head>
      <body background="http://www.laggyweb.de/ExDateien/Haushintergrund900x654.jpg" bgproperties=fixed>
      

      <h1 align=center></h1>
      <center><p><u><h2>"Immonet Datenbank Wohnungen"</h2></u></p><br>
      

      <perl>
      ### Zuweisung der Suchparameter für Zähler ###
      if ($Grundsuche eq "Wohnung zur Miete"){$ZS="WohnungMiete"};
      if ($Grundsuche eq "Wohnung zum Kauf"){$ZS="WohnungKauf"};
      if ($Grundsuche eq "Haus zur Miete"){$ZS="HausMiete"};
      if ($Grundsuche eq "Haus zum Kauf"){$ZS="HausKauf"};
      if ($Grundsuche eq "Grundstücke"){$ZS="Grundstueck"};
      

      if ($Grundsuche eq "Wohnung zur Miete"){
      out "<form action='/cgi-bin/baseportal.pl?htx=/Laggy/ZWohnung&Grundsuche=$Grundsuche' method='post' enctype='multipart/form-data'>";
      out "<input type='hidden' name='htx=' value='/Laggy/ZWohnung'>";
      out "<font size='3'><b>Zimmer? </b></font>";
      out "<select name='FZimmer='> <option>1<option>2<option>3<option>4<option>5<option>6<option>7<option>8<option>9</select> <button type='submit'>Suchen</button>$FZimmer";}
      

      ##### Zähler für die relevanten Datensätze #####
      get "Objekt==$ZS", "Wohnung"; 
      while(get_next("Wohnung"))
      {
        $rel_ds++;
      }
      

      if ($rel_ds == ""){$rel_ds="Leider kein"};
      if ($rel_ds < "2"){
      $rele="relevanter";}
      elsif ($rel_ds > "1"){
      $rele="relevante"};
      $browseamount=6;
      </perl>
      <loop db=Wohnung range^=0,$browseamount sort=Zimmer code=Perl>
      if ($Grundsuche eq "Wohnung zur Miete" and $Objekt eq "WohnungMiete"){
      

      out "<table border='1' width=90% font size='1' bgcolor=#00CCCC><tr><td colspan=5 bgcolor=#FFCCCC>";
      out"<a href='/baseportal/Laggy/WohnungDetail?Id==$_id'><font size='2'><b> $Titel </b></a></td>";
      out"<tr><td font size='2' width=10%> $Zimmer Zimmer</td><td width=30%> mit $Wohnflaeche qm Wohnfläche</td><td width=20%> in $Stadtteil</td>";
      if ($Kaltmiete eq ""){
      out"<td width=15%> für $Warmmiete € Miete</td>";}
      elsif ($Kaltmiete ne ""){
      out"<td width=15%> für $Kaltmiete € Miete</td>";}
      out"<td><a href='/baseportal/Laggy/Kunden?Firma==$Kontakt'> $Kontakt</a></td></tr><font size='0'></font></table>";
      out"<table><tr><td></td></tr></table></font>";
      }
      </loop>
      

      <loop db=Wohnung range^=0,$browseamount sort=Zimmer code=Perl>
      if ($Grundsuche eq 'Wohnung zum Kauf' and $Objekt eq 'WohnungKauf'){
      

      out "<table border='1' width=90% font size='1' bgcolor=#00CCCC><tr><td colspan=5 bgcolor=#FFCCCC>";
      out"<a href='/baseportal/Laggy/WohnungDetail?Id==$_id'><font size='2'><b> $Titel </b></a></td>";
      out"<tr><td font size='2' width=10%> $Zimmer Zimmer</td><td width=30%> mit $Wohnflaeche qm Wohnfläche</td><td width=20%> in $Stadtteil</td>";
      if ($Kaltmiete eq ""){
      out"<td width=15%> für $Warmmiete € Miete</td>";}
      elsif ($Kaltmiete ne ""){
      out"<td width=15%> für $Kaltmiete € Miete</td>";}
      out"<td><a href='/baseportal/Laggy/Kunden?Firma==$Kontakt'> $Kontakt</a></td></tr><font size='0'></font></table>";
      out"<table><tr><td></td></tr></table></font>";
      }
      out"$Objekt<br>"
      </loop>
      

      $Grundsuche




      <perl>
      #####  BLÄTTERFUNKTION  #####
      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      

      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;

      out "<b><< <a href=\"$_link&range=$oldrange,$_range_length&Grundsuche=$Grundsuche\">Zurück </b></a> " if $oldrange>=0;
      if ($rel_ds==0){
      out "<br>";}
      out "<font size='2'> $rel_ds $rele von $_amount_query Einträgen gefunden</font>";
      out "<b><a href=\"$_link&range=$newrange,$_range_length&Grundsuche=$Grundsuche\"> Weiter</a> >></b>" if $newrange<$rel_ds;
      

      </perl>

      </center>
      </body>
      </html>
      

      Die 2. Loop-Schleife ist natürlich noch nicht fertig
      Aber ich glaube ich lauf da in eine Sackgasse.
      Vielleicht hat jemand eine Idee dazu.

      Warscheinlich wäre eine Ausgabe mit "get" besser, aber das Problem bleibt.
      Wenn in dem Beispiel erst der 7. Datensatz relevant ist, dann wird mir eine leere Seite angezeigt.

      Laggy

     Antworten

    Beitrag von LAGGY (11 Beiträge) am Montag, 23.September.2002, 23:02.
    ERGÄNZUNG Re: Blättern bei relevanten Datensätzen????????

      Ergänzung:
      Warum kommt man vom Template Test1 nicht in das Template Wohnung???
      Wenn ich es über meine HP aufrufe, funktioniert es aber
      Hier ist die Adresse, damit man es auch ansehen kann:
      http://www.laggyweb.de/Immo
      von dort aus kommt man über den Menüpunkt "Suchen" auf das Template Test1.

      Ich sag schon mal besten Dank

      Laggy

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 23.September.2002, 23:54.
    Re: Blättern bei relevanten Datensätzen????????

      lass das mal lieber bp aussortieren:
      <loop Grundsuche==Wohnung\ zum\ Kauf & Objekt==WohnungKauf db=Wohnung range^=0,$browseamount sort=Zimmer code=Perl>
      out "<table border='1' width=90% font size='1' bgcolor=#00CCCC><tr><td colspan=5 bgcolor=#FFCCCC>";
      out"<a href='/baseportal/Laggy/WohnungDetail?Id==$_id'><font size='2'><b> $Titel </b></a></td>";
      out"<tr><td font size='2' width=10%> $Zimmer Zimmer</td><td width=30%> mit $Wohnflaeche qm Wohnfläche</td><td width=20%> in $Stadtteil</td>";
      if ($Kaltmiete eq ""){
      out"<td width=15%> für $Warmmiete € Miete</td>";}
      elsif ($Kaltmiete ne ""){
      out"<td width=15%> für $Kaltmiete € Miete</td>";}
      out"<td><a href='/baseportal/Laggy/Kunden?Firma==$Kontakt'> $Kontakt</a></td></tr><font size='0'></font></table>";
      out"<table><tr><td></td></tr></table></font>";
      out"$Objekt<br>"
      </loop>
      

      Sander

     Antworten

    Beitrag von LAGGY (11 Beiträge) am Dienstag, 24.September.2002, 01:08.
    Re: Blättern bei relevanten Datensätzen????????

      Hab ich auch schon versucht.
      In Grundsuche, wird der Wert aus dem Form von Test1 übergeben.
      Wenn ich das in das Loop packe, dann bekomme ich immer eine Fehlermeldung. Das Feld existiert nicht in der DB Wohnung. Kanns ja auch net ;-)
      Ich denke, das mein Problem mit dem "Range" zusammenhängt.
      Aber ich hab keine Ahnung wie ich da ansetzen soll.
      Wenn ich es weglasse, dann bekomme ich alle DS angezeigt und die Blätterfunktion hat dann auch Schwierigkeiten (wenn ich mich recht erinnere)
      Wenn es drinnbleibt, werden nur die ersten 6 DS durchsucht, aber wenn der erste relevante DS der 7. oder 8. ist, wird mir gar nix angezeigt.
      sehen kann man das, wenn man dann nach einer 5-Zimmer Wohnung sucht. Die erste 5-Zimmer Wohnung ist nämlich der 7. oder 8. Datensatz.
      Irgendwo stehe ich da auf der Leitung und komm nicht mehr weiter.

      Laggy

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 24.September.2002, 09:16.
    Re: Blättern bei relevanten Datensätzen????????

      is ja klar, das nix angeziegt wird, weil du den range auf alle DS anwendest, auch die nicht relevant sind. deshalb muß das filtern bp überlassen werden

      wenn ich dich recht verstehe, ist Grundsuche nicht in der db vorhanden, und du baust das nur intern in $ZS um?
      <loop Objekt==WohnungMiete db=Wohnung range^=0,$browseamount sort=Zimmer code=Perl>
      

      aber eventuell ist das ganze Template von grundauf falsch. Du rufst 3 x die gleiche db ab?

      Sander

      Sander

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 25.September.2002, 21:25.
    Re: Blättern bei relevanten Datensätzen????????

      hallo, laggy,
      mhm, du nutzt in deinem Template eigenlich nicht die Vorteile des bp-Systems.
      Hab mal schnell dein Template umgestrickt, könnte sein, daß das HTML oder auch im Perl was nicht ganz stimmt habs nich getestet, nur mal so schnell gebaut (wollte eigentlich nur mein Syntaxschema für Phase5 nochmal testen)
      Hier der Code, den du mal versuchen solltes zu verstehen, damit du vielleicht auch Fehler selber rauskriegst:
      <html><head><title>Immonet Datenbank Wohnungen</title></head>
      <body background="http://www.laggyweb.de/ExDateien/Haushintergrund900x654.jpg" bgproperties=fixed>
      <h1 align=center></h1>
      <center><p><u><h2>"Immonet Datenbank Wohnungen"</h2></u></p><br>
      <perl>
      ### Zuweisung der Suchparameter für Zähler ###
      if ($Grundsuche eq "Wohnung zur Miete")
      {$ZS="WohnungMiete";}
      elsif ($Grundsuche eq "Wohnung zum Kauf")
      {$ZS="WohnungKauf";}
      elsif ($Grundsuche eq "Haus zur Miete")
      {$ZS="HausMiete";}
      elsif ($Grundsuche eq "Haus zum Kauf")
      {$ZS="HausKauf";}
      elsif ($Grundsuche eq "Grundstücke")
      {$ZS="Grundstueck";}
      # Ende der Zuweisung Suchparameter
      if ($ZS eq  "WohnungMiete")
      {
      out<<EOF;
      <form action=$_link&Grundsuche=$Grundsuche method='post' enctype='multipart/form-data'>
      <input type='hidden' name='htx=' value=$_htx>
      <font size='3'><b>Zimmer? </b></font>
      <select name='FZimmer='>
      <option>1<option>2<option>3<option>4<option>5<option>6<option>7<option>8<option>9
      </select>
      <button type='submit'>Suchen</button>$FZimmer
      }
      ##### Zähler für die relevanten Datensätze #####
      $browseamount=6; # gewünschter Ausgabebereich (Range Länge)
      $ra||=0; # RangeStart vorbelegen wenn $ra nicht übergeben wurde
      $ra_l||=$browseamount; # RangeLänge vorbelegen wenn $ra_l nicht übergeben wurde
      

      get "Objekt==$ZS range=$ra,$ra_l", "Wohnung"; #Datensätze holen, bei denen Objekt = $ZS ist
      $rel_ds = $_amout_query; #gibt die Anzahl gefundener gefilteter Datensätze zurück
      if (not $rel_ds)
      {$rel_ds="Leider kein";}
      elsif ($rel_ds < 2)
      {$rele="relevanter";}
      elsif ($rel_ds > 1)
      {$rele="relevante"};
      while(get_next("Wohnung")) # solange noch Datensätze mit der Filtebedingung da sind
      {
            if ($ZS eq "WohnungMiete")
            {
            out<<EOF;
            <table border='1' width=90% font size='1' bgcolor=#00CCCC><tr>
            <td colspan=5 bgcolor=#FFCCCC>
            <a href='/baseportal/Laggy/WohnungDetail?Id==$_id'><font size='2'><b> $Titel </b></a>
            </td></tr>
            <tr><td font size='2' width=10%> $Zimmer Zimmer</td>
            <td width=30%> mit $Wohnflaeche qm Wohnfläche</td>
            <td width=20%> in $Stadtteil</td>
            EOF
               if ($Kaltmiete eq "")
               {out "<td width=15%> für $Warmmiete € Miete</td>";}
               elsif ($Kaltmiete ne "")
               {out "<td width=15%> für $Kaltmiete € Miete</td>";}
               out<<EOF;
            <td>
            <a href='/baseportal/Laggy/Kunden?Firma==$Kontakt'> $Kontakt</a>
            </td></tr>
            </table>
            <table>
            <tr><td>
            </td></tr>
            </table>
            EOF
            }elsif ($ZS eq 'WohnungKauf')
            {
            out<<EOF;
            <table border='1' width=90% font size='1' bgcolor=#00CCCC>
            <tr><td colspan=5 bgcolor=#FFCCCC>
            <a href='/baseportal/Laggy/WohnungDetail?Id==$_id'><font size='2'><b> $Titel </b></a>
            </td></tr>
            <tr>
            <td font size='2' width=10%> $Zimmer Zimmer</td>
            <td width=30%> mit $Wohnflaeche qm Wohnfläche</td>
            <td width=20%> in $Stadtteil</td>
            EOF
               if ($Kaltmiete eq "")
               {out"<td width=15%> für $Warmmiete € Miete</td>";}
               elsif ($Kaltmiete ne "")
               {out"<td width=15%> für $Kaltmiete € Miete</td>";}
            out<<EOF;
            <td><a href='/baseportal/Laggy/Kunden?Firma==$Kontakt'> $Kontakt</a></td>
            </tr>
            </table>
            <table>
            <tr><td></td></tr>
            </table>
            }
      }
      out "$Objekt<br>";
      $Grundsuche
      ##### BLÄTTERFUNKTION #####
      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
      out "<b><< <a href=\"$_link&ra=$oldrange&ra_l=$_range_length&Grundsuche=$Grundsuche\">Zurück </b></a> " if $oldrange>=0;
      if ($rel_ds==0)
      {out "<br>";}
      out "<font size='2'> $rel_ds $rele von $_amount_query Einträgen gefunden</font>";
      out "<b><a href=\"$_link&ra=$newrange&ra_l=$_range_length&Grundsuche=$Grundsuche\"> Weiter</a> >></b>" if $newrange<$rel_ds;
      </perl>
      </center>
      </body>
      </html>
      

      Gruß Ruben
      PS:
      Ich bin nicht entmutigt, weil jeder als falsch verworfene Versuch ein weiterer Schritt vorwärts ist.
      (Thomas A. Edison) PS.: Der Erfinder der Glühbirne ;)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 25.September.2002, 21:53.
    Fehlerhinweis: Re: Blättern bei relevanten Datensätzen????????

      Hallo,
      zuschnell losgeschickt, es fehlen paar EOF jeweils am Ende der Ausgabeblöcke und paar sind nicht am Anfang der Zeile.... naja - nur als Hinweis wenn die Fehlermeldungen kommen.......

     Antworten


     
 Liste der Einträge von 43650 bis 43800: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!