Suche und Ergebnis mit blättern

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

  • Suche und Ergebnis mit blättern

    OK, also ich hab ne Suchseite gebastelt. Insgesamt hab ich 2 Textboxen, ein Pull down Menü, 2 Kontrollkästchen sowie eine Radiobutten Auswahl. Das macht insgesamt 6 Menü Elemente.

    Die Suchseite funktioniert auch. Es liefert mir insgesamt das Suchergebnis in 4 verschieden aussehenden Tabellen. Ich hab mir jetzt mal eine einfache Blätter Klasse für ein Gästebuch geschrieben, welche dort einwandfrei funktioniert. Jetzt wollt ich die Klasse auch für die Suche benutzen, da das Suchergebnis auch mal gerne über 1000 Datensätze geht.

    Jetzt ist mein hauptsächliches Problem die Weitergabe der Formulardaten. In meiner Klasse steht es so drin
    PHP-Code:
        function Page($show_per_page ""$num ""$bev_aft "")
        {
            
    $this->show_per_page $show_per_page;
            
    $this->num $num;
            
    $this->bev_aft $bev_aft;
            
    $this->half_page $this->num $this->show_per_page;
            
    $this->full_page = ($num $this->half_page) / $this->show_per_page;
        }

        function 
    check($file "")
        {
            if(
    strlen(@$_GET['count']) == null || strlen(@$_GET['page']) == null || strlen(@$_GET['bev_aft']) == null)
            {
                
    header ("Location: $file?count=$this->show_per_page&page=1&bev_aft=$this->bev_aft");
            }
        } 
    Des heißt also sobald die Seite zum ersten mal aufgerufen wird wird übeprüft ob Daten in der URL stehen. Ist dies nicht der Fall wird die Seite neu aufgerufen über header. So dass ich die Daten dann in der URL zu verfügung hab. Jetzt hab ich natürlich das Problem dass dann meine Formulardaten fehlen. Wie kann ich des machen das ich nicht 6 weitere variablen in die URL einfügen muss oder ist das der einzige Weg? OK ich kann auch die Formulardaten in ein Array klatschen und das dann weitergeben. Wie würdet ihr des machen?


    Mfg Markus

  • #2
    Wie würdet ihr des machen?
    Brainstorming!?!
    *VERSCHIEB*

    entweder POST, GET oder SESSIONS. viel anderes hast du nicht.

    Kommentar


    • #3
      Bitte wieder zurück schieben.

      Hab mich für GET entschieden.

      Also ich hab ein Formular indem ich die anzuzeigende Seiten eintrag mit dem Namen "hits_per_page". Wenn ich das Formular abschicke sind die Daten in meiner Blätterklasse zur Verfügung. Schick ich die Daten über den header werden Sie dort nicht angezeigt:
      http://../result.php?count=10&page=1&bev_aft=3 // der Rest fehlt.

      PHP-Code:
      if(strlen(@$_GET['count']) != null)  //ist erst beim zweiten Durchlauf true
      {
          
      $show_per_page = @$_GET['count'];
          
      $searchbox = @$_GET['searchbox'];
          
      $select = @$_GET['select'];
          
      $search_online_check = @$_GET['search_online_check'];
          
      $file_search = @$_GET['file_search'];
          
      $option = @$_GET['option'];

      // Ergibt keinerlei Ausgabe, also die Variablen sind nicht vorhanden obwohl sie eigentlich über den Header geschickt worden sein müssten aber wie ihr oben gesehen habt sind die Daten nicht da.
          
      echo "$searchbox <br>";
          echo 
      "$select <br>";
          echo 
      "$search_online_check <br>";
          echo 
      "$file_search <br>";
          echo 
      "$option <br>";

      }
      else   
      //ist automatisch beim ersten Durchlauf
      {
          
      $show_per_page = @$_POST['hits_per_page'];
          
      $searchbox = @$_POST['searchbox'];
          
      $select = @$_POST['select'];
          
      $search_online_check = @$_POST['search_online_check'];
          
      $file_search = @$_POST['file_search'];
          
      $option = @$_POST['option'];

      Die Blätter Klasse sieht so aus (UPDATE)
      PHP-Code:
          function check($file "")
          {
              if(
      strlen($_POST['hits_per_page']) != null)
              {
                  
      $searchbox =             @$_POST[searchbox];
                  
      $select =                 @$_POST[select];
                  
      $search_online_check =     @$_POST[search_online_check];
                  
      $file_search =             @$_POST[file_search];
                  
      $option =                 @$_POST[option];

                  
      $string "$file?count=$this->show_per_page&page=1&bev_aft=$this->bev_aft&searchbox=$searchbox&select=$select&search_online_check=$search_online_check&file_search=file_search&option=$option";
                  
      //echo $string;
                  
      header ("Location:"$string);

                  
      $this->more "&searchbox=".@$searchbox."&select=".@$select."&search_online_check=".@$search_online_check."&file_search=".@$file_search."&option=".@$option;
              }
              if(
      strlen(@$_GET['count']) == null || strlen(@$_GET['page']) == null || strlen(@$_GET['bev_aft']) == null)
              {
                  
      header ("Location: $file?count=$this->show_per_page&page=1&bev_aft=$this->bev_aft");
                  
      $this->more "";
              }
          } 
      Warum werden die Daten nicht mit übermittelt?

      Mfg Markus
      Zuletzt geändert von markusschmitt; 25.08.2003, 16:15.

      Kommentar


      • #4
        HELP

        OK habs raus. Jetzt hab ich nur ein Problem und zwar bekomm ich immer pro Seite den gleichen Datensatz ausgegeben. Ich versteh die Welt nichtmehr. Wer kann mir mal bitte helfen. Hab mal ne txt hochgeladen wo ich den ganzen Code einsehen könnt. Ich Versteh das Problem einfach nicht. Wieso immer der gleiche Datensatz. Der SQL String pro Seite sieht so aus:
        PHP-Code:
        SELECT server.hostnameserver.usernameserver.passwordserver.portserverlink.pathserverlink.fileserverlink.sizeserverlink.date FROM server INNER JOIN serverlink
         ON server
        .id serverlink.id WHERE UPPER(serverlink.fileLIKE UPPER('%mi%') AND (serverlink.end_of_file 'mp3' OR serverlink.end_of_file 'ogg' OR serverlink.end_of_file 'vqf'
         
        OR serverlink.end_of_file 'wav'ORDER BY server.hostname ASCserverlink.path ASC LIMIT 420 480 

        http://home.arcor.de/michaelernst/stuff/help.txt

        Mfg Markus
        Zuletzt geändert von markusschmitt; 25.08.2003, 20:36.

        Kommentar


        • #5
          OK war ein LIMIT Problem und noch ein Fehler in der For Schleife.

          Mfg Markus

          Kommentar

          Lädt...
          X