.php Suchergebnis umblättern

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

  • .php Suchergebnis umblättern

    Hallo nochmal, man nehme ein Eingabeformular (.html) wähle dort verschiedene Optionen aus und poste dieses zum suchergebnis.php Script. Jenes stellt die Suchergebnismenge in einer Tabelle dar. Was ist zu programmieren um die suchergebnismenge nur bis z.B. Suchergebnis Nr. 10 darzustellen und dann per link auf die nächste Seite umzublättern auf der das Suchergebnis Nr. 11 bis 20 angezeigt werden soll ..., ohne zwischendurch das Eingabeformular (.html) neu ausfüllen zu müssen, versteht sich. - Könnt ihr zu diesem Problem eventuell auch entsprechende Lektüre empfehlen??? - Bis denne

  • #2
    du übergibst einfach eine Variable die die Seite beinhaltet, naja und anhand dieser Zahl kannste errechen was ausgegeben werden muss. Iss eigentlich ganz einfach.

    Kommentar


    • #3
      könnte auch helfen:
      http://www.php-resource.de/forum/sho...?threadid=2331
      h.a.n.d.
      Schmalle

      http://impressed.by
      http://blog.schmalenberger.it



      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
      ... nur ohne :-)

      Kommentar


      • #4
        .php Suchergebnis umblättern

        Knobel.. Knobel.. An dieser Stelle erst mal Danke danke und nochmals danke an schmalle. Der angegebene Verweis hat mir schon mal erheblich weitergeholfen.

        Nun aber leider folgendes: Die Suchergebnisse werden nun zwar auf der ersten Suchergebnisseite bis zum angegebenen Limit angezeigt, jedoch wenn ich mich zur nächsten Seite zwecks Ansicht der weiteren Suchergebnisse verlinke, zeigt er mir eine Ergebnismenge 0 an, obwohl da definitiv noch weitere Ergebnisse angezeigt werden müssen. (Außerdem ist auf der zweiten Seite die Gesamttreffermenge auf einmal 0, dit darf ja nun auch nich sein.)

        Tja und schon wieder mal hackts bei Tadaaa. Kann mir da einer weiterhelfen???

        Viva

        Kommentar


        • #5
          immernoch Blätterprobleme

          Hallo, bin hier kurz vorm großen Erbrechen...

          Ich habe nun zur Probe die Möglichkeit der Begrenzung der Suchergebnisse und des Weiterblätterns zur Darstellung der restlichen Suchergebnisse (mit Übergabe der entsprechenden Begrenzungsvariable im Link) auf 2 völlig verschiedene Weisen programmiert in der Hoffnung, dass die ge"posteten" Formulardaten aus der Abfrage.html nun endlich auch auf die zweite php-Suchergebnisseite (is ja eigentlich die gleiche wie die erste, nur mit übergebener Begrenzungsvariablen) übertragen werden.

          Aber was soll ich sagen, auf der zweiten Suchergebnisseite hat er in beiden Fällen auf einmal nicht mehr die Formulardaten, die ja eigentlich wunderbar auf die erste ursprüngliche Suchergebnis.php Seite ge"postet" wurden und hier auch ausgewertet werden konnten.

          Wo liegt blos der Fehler ??? Oder sollte man in der Abfrage.html vielleicht eine andere Methode als method='post' auswählen? Aber method='put' haut auch nich hin. Oder darf als action nicht action='suchergebnis.php' vorgegeben werden??? Ich steh absolut schlauch...

          Hilfe......................................

          Kommentar


          • #6
            poste bitte mal den code, den du aktuell verwendest. sonst kann ich dir nicht weiterhelfen. vermutlich werden einige variablen nicht weitergeleitet.
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              ...umblättern is ganz schön schwer...

              Hi schmalle,

              anbei der code. Ich sitz hier schon ne Wochw dran und kann den fehler nicht finden, was aber nich viel heißen mag..., Is Tadaaa den zu doof für alles ???


              1.) Der Code der Abfrage.html:

              <HTML>
              <Head><Title>Unterkunftssuche</Title></Head>
              <Body bgcolor=#990099 vlink=#FFFF99 alink=#FFCC33>
              <H3>Unterkunftsabfrage</H3>
              <HR><form action='suchergebnis.php' method='post' >
              <div align="center">
              <center>
              <table border="2" width="538" height="339" background="Sand1.gif">
              <tr>
              <td width="538" height="339">

              <Pre>
              <BR>
              Unterkunftstyp: <Select name='Unterkunftstyp' size='1'>
              <Option value='alle'>alle
              <Option value='Ferienwohnung'>Ferienwohnung
              <Option value='Gästezimmer'>Gästezimmer
              <Option value='Hotel'>Hotel/Pension
              <Option value='Ferienhaus'>Ferienhaus
              </Select><BR>
              Ort: <Select name='Ort' size='1'>
              <Option value='alle'>alle
              <Option value='Zingst'>Zingst/Darß
              <Option value='Prerow'>Prerow/Darß
              <Option value='Binz'>Binz/Rügen
              <Option value='Aalbeck'>Aalbeck/Usedom
              <Option value='Saßnitz'>Saßnitz/Rügen
              <Option value='Ahrenshoop'>Ahrenshoop/Darß
              <Option value='Wustrow'>Wustrow/Darß
              </Select><BR>
              Personen maximal: <Select name='Personen' size='1'>
              <Option value='alle'>alle
              <Option value='1'>eine Person
              <Option value='2'>zwei Personen
              <Option value='3'>drei Personen
              <Option value='4'>vier Personen
              <Option value='mehr'>mehr
              </Select><BR>
              Zimmerzahl: <Select name='Zimmer' size='1'>
              <Option value='alle'>alle
              <Option value='1'>ein Zimmer
              <Option value='2'>zwei Zimmer
              <Option value='3'>drei Zimmer
              <Option value='4'>vier Zimmer
              <Option value='mehr'>mehr
              </Select><BR>
              Preis pro Nacht: <Select name='Preis' size='1'>
              <Option value='alle'>alle
              <Option value='30'>bis 30,- EUR
              <Option value='40'>bis 40,- EUR
              <Option value='50'>bis 50,- EUR
              <Option value='60'>bis 60,- EUR
              <Option value='75'>bis 75,- EUR
              <Option value='90'>bis 90,- EUR
              <Option value='100'>bis 100,- EUR
              <Option value='mehr'>mehr
              </Select><BR>
              Ordnungskriterium: <Select name='OM' size='1'>
              <Option value='Ort'>Ort
              <Option value='Preis'>Preis
              <Option value='Zimmer'>Zimmer
              <Option value='Personen'>Personen max.
              <Option value='Unterkunftstyp'>Unterkunftstyp
              </Select><Br>

              </td>
              </tr>
              </table>
              </center>
              </div>


              <div align="center">
              <center>
              <table border="0" width="135" height="23" bgcolor=#990099>
              <tr>
              <td width="135" height="23">
              <input type='submit' value="Abfrage starten">
              </td>
              </tr>
              </table>
              </center>
              </div>


              </Pre>
              </Form><HR>
              <A href='start.html'>Startseite</A>
              </Body></HTML>


              2.) Der Code der Suchergebnis.php:

              <HTML>
              <Head><Title>Unterkunftssuche</Title></Head>

              <Body bgcolor=#990099 vlink=#FFFF99 alink=#FFCC33>
              <H3>Suchergebnis</H3>
              <HR>
              <?php



              $link=mysql_connect("localhost","root","wingtsun"); mysql_select_db("soso");


              $Zeilen_pro_Seite = 5;
              if (!isset ($Anfangsposition)) {
              $Anfangsposition = 0;
              }

              $i=alle;
              $z = mehr;
              $a = 4;
              $b = 100;
              $Euro = Euro;
              $Pers = Personen;
              $Zi = Zimmer;
              $o = Ort;
              $Pr = Preis;
              $u = Unterkunftstyp;



              if ($OM==$o) {$y=Ort;} else
              if ($OM==$Pers) {$y=Personen;} else
              if ($OM==$Zi) {$y=Zimmer;} else
              if ($OM==$Pr) {$y=Preis;} else
              if ($OM==$u) {$y=Unterkunftstyp;} else
              $y = Ort;

              if (($Unterkunftstyp==$i) and ($Ort==$i) and ($Preis==$z) and ($Zimmer==$i) and ($Personen==$i))
              {$anfrage="select * from ferien1 where (Preis>'$b') Order by $y ";} else

              if (($Unterkunftstyp==$i) and ($Ort==$i) and ($Preis==$z) and ($Zimmer==$z) and ($Personen==$z))
              {$anfrage="select * from ferien1 where (Preis>'$b') and (Zimmer>'$a') and (Personen>'$a') Order by $y ";} else

              if (($Unterkunftstyp==$i) and ($Ort==$i) and ($Preis==$i) and ($Zimmer==$z) and ($Personen==$z))
              {$anfrage="select * from ferien1 where (Zimmer>'$a') and (Personen>'$a') Order by $y ";} else

              //hier folgen ca 50 weitere if-else "Schachteln" auf deren Angabe aus Platzgründen verzichtet werden soll. Das geht sicher auch irgendwie einfacher (kürzer) darzustellen, ich wüßte jetzt aber ad-foc auch nich wie ...

              {$anfrage="select * from ferien1 where (Unterkunftstyp='$Unterkunftstyp') and (Ort='$Ort')
              and (Personen='$Personen') and (Zimmer='$Zimmer') and (Preis<='$Preis') Order by $y ";};


              $sql=("$anfrage limit $Anfangsposition,$Zeilen_pro_Seite");


              $result=mysql_query($sql) or die
              ("Fehlermeldung=".mysql_error());

              $result1=mysql_query($anfrage)or die
              ("Fehlermeldung=".mysql_error());

              $Anzahl=mysql_num_rows($result1);
              echo mysql_num_rows($result1)." Treffer <P> ";
              echo "<table border='1' width='100%' background='Sand1.gif'>";

              echo "<tr bgcolor=#ffffff>";
              echo "<TH>Abbildung</TH>";
              echo "<TH>Unterkunftstyp<BR> Ort </TH>"; echo "<TH> Zimmer </TH>"; echo "<TH>Personen max.</TH>";
              echo "<TH>Preis pro Nacht</TH>"; echo "<TH> Vermieter </TH>"; echo "<TH> Kontakt </TH>";
              echo "</tr>";


              while ($zeile=mysql_fetch_row($result))
              {echo "<TR align='center'>";
              echo "<TD> Klick mich: <BR><a href = 'abfrage.html'><IMG src='".$zeile[0].".gif'border='0'></a></TD>";
              echo "<TD>".$zeile[11]."<BR> in <BR>".$zeile[1]."</TD>";
              echo "<TD>".$zeile[2]." Zimmer</TD>";
              echo "<TD>".$zeile[3]." Personen</TD>";
              echo "<TD>".$zeile[4]." Euro</TD>";
              echo "<TD>".$zeile[5]. "<BR>".$zeile[6] ."<BR>".$zeile[7] ."</TD>";
              echo "<TD>Tel.: ".$zeile[8]."<BR>Fax: ".$zeile[9]."<BR>E-Mail: ".$zeile[10] ."</TD>";

              echo "</TR>"; };
              echo "</Table>";

              if ($Anfangsposition > 0) {
              echo "&lt;a href='abfrage.php?Anfangsposition=0'>[erste Seite]</a>";
              $back=$Anfangsposition-$Zeilen_pro_Seite;
              if($back<0) {
              $back=0;
              }
              echo "<a href=\"abfrage.php?Anfangsposition=$back\">[eine Seite zur&uuml;ck]</a>";
              }

              if($Anzahl>$Zeilen_pro_Seite) {
              $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
              if($Anzahl%$Zeilen_pro_Seite) {
              $Seiten++;
              }
              }

              for ($j=1;$j<=$Seiten;$j++) {
              $fwd=($j-1)*$Zeilen_pro_Seite;
              echo "<a href=\"abfrage.php?Anfangsposition=$fwd\">$j</a>";
              }

              if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite) {
              $fwd=$Anfangsposition+$Zeilen_pro_Seite;
              echo "<a href=\"abfrage.php?Anfangsposition=$fwd\">[eine Seite weiter]</a>";
              $fwd=$Anzahl-$Zeilen_pro_Seite;
              echo "<a href=\"abfrage.php?Anfangsposition=$fwd\">[letzte Seite]</a>";
              }

              mysql_free_result($result1); mysql_free_result($result); mysql_close($link);
              ?>
              <HR>
              <A href="abfrage.html">Abfrage</A><BR>
              <A href="start.html" >Startseite</A>
              <Body></HTML>


              Viva , in freudiger Erwartung auf problemlösende Nachrichten für mich

              Kommentar


              • #8
                soso ... hab was gefunden:

                Code:
                echo "<a href=\"abfrage.php?Anfangsposition=$fwd\">[eine Seite weiter]</a>"; 
                $fwd=$Anzahl-$Zeilen_pro_Seite;
                bei diesem link fehlen deiner sql-abfrage die variablen, nach denen gesucht werden soll. sprich du musst alle variablen, die von dem formular kommen immer wieder "mitnehmen". Denn die Suche wird ja bei jedem klick auf "eine seite weiter" neu ausgeführt. sie hält halt nur an einer anderen position an ...
                h.a.n.d.
                Schmalle

                http://impressed.by
                http://blog.schmalenberger.it



                Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                ... nur ohne :-)

                Kommentar


                • #9
                  dit is it

                  Hallo schmalle,

                  Tadaaa stellt nun folgendes fest: Es klaaaaaaaaapppppppttttt !!!! Danke vielmals auch...jetze is der Knoten endlich geplatzt.

                  Problem - Lösung ... anders siehts da allerdings mit der Frameseite aus, da bin ich noch am rumtüfteln aber näheres dazu dann später im Eintrag ".php Seite im Frameset darstellen", (wo's hingehört)


                  Viva

                  Kommentar


                  • #10
                    so will ich das hören

                    h.a.n.d.
                    Schmalle

                    http://impressed.by
                    http://blog.schmalenberger.it



                    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                    ... nur ohne :-)

                    Kommentar

                    Lädt...
                    X