Suche und Ergebnis mit blättern

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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
      Last edited by markusschmitt; 25-08-2003, 15:15.

      Comment


      • #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
        Last edited by markusschmitt; 25-08-2003, 19:36.

        Comment


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

          Mfg Markus

          Comment

          Working...
          X