Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler in Blätterfunktion

Einklappen

Neue Werbung 2019

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

  • Fehler in Blätterfunktion

    Hallo,
    ich hab da ein Problem hab diesen Link gefunden

    http://www.php-einfach.de/tuts_mysql...erfunktion.php

    und die Funktion auch übernommen. Funktioniert auch alles so weit. Aber ich habe eine Db die Kontakte heraussucht, wenn ich auf Suchen gehe bekomme ich die ersten 15 Einträge, wenn ich dann auf Seite 2 gehe ist wieder die normale Db zu sehen.

    Wie schaffe ich es das er mir alle Einträge anzeigt die ich gesucht habe?

  • #2
    wie bitte was?

    ich mach jetzt bestimmt nicht das ganze script durch, und ich verstehe nichtmal was du wilst und was genau nicht "funktioniert"

    am besten schaust du dir mal das hier an:
    http://forum.developers-guide.net/showthread.php?t=69

    Kommentar


    • #3
      Na gut sagen wir jemand möchte sich kontakte raussuchen im felht nur der Name also sucht er alles was mit "S" anfängt, die Db spuckt im 15 Einträge aus, aber eigendlich sind es mehr als 15, doch wenn dieser jemand eine Seite weiter gehen will, zeigt die Db ihm wieder alle 400 Einträge an.

      Ich hoffe ich habs verständlich ausgedrückt. Den Link hatte ich schon, genauso wie noch ein Dutzend anderer, vielleicht bin ich einfach zu blöd, aber ich sitz jetzt schon seit Tagen und grübel vor mich hin.

      Ich brauch dringend Hilfe.

      Kommentar


      • #4
        du must halt per GET dem script sagen auf welcher Seite du im Augenblick bist.

        wie schaut den dein Link aus, für "Seite 2 anzeigen" ?

        Kommentar


        • #5
          Nun der Link is so:

          for($a=0; $a < $wieviel_seiten; $a++)
          {
          $b = $a + 1;
          if($seite == $b)
          {
          echo " $b "; }
          else
          {
          echo " <a href=\"?seite=$b\">$b</a> ";
          }
          So funktioniert das ja nur nach der Abfrage nich.

          Kommentar


          • #6
            Wie ist das geimeint mit Get?
            Hab keinen Plan wo ich das einbauen soll.

            Kommentar


            • #7
              Hallo,
              ich dachte ich starte noch mal einen Versuch.
              Ich hab bisher noch nichts gefunden, was meiner DB nahe kommt.

              Ich würd das Problem gern in den Griff bekommen, es ist doch Blöd, dass ich bei meiner DB entweder die ersten 15 Einträge die er gefunden hat angezeigt bekomme, oder ich mich durch jede Seite durchsuchen muss, wenn der Eintrag nicht dabei war. Ich poste mal ein Teil des Scripts, vielleicht seht ihr ja mehr.

              $seite = $_GET["seite"];
              if(!isset($seite))
              {
              $seite = 1;
              }
              require("Data.php");

              $connection= @mysql_connect($host, $dbuser,$dbpasswd)
              or die(mysql_error());
              mysql_select_db($dbname);

              $eintraege_pro_seite = 15;
              $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;
              $abfrage = "SELECT nachname,vorname,firma,email,tel1,tel2,fax
              FROM contacts
              WHERE nachname LIKE '%".$_POST["Nachname"]."%' AND vorname LIKE '%".$_POST["Vorname"]."%'
              AND firma LIKE '%".$_POST["Firma"]."%'
              AND email LIKE '%".$_POST["E-Mail"]."%'
              ORDER BY nachname
              LIMIT $start, $eintraege_pro_seite";
              $ergebnis = mysql_query($abfrage);



              $abfrage = "SELECT nachname,vorname,firma,email,tel1,tel2,fax
              FROM contacts
              WHERE nachname LIKE '%".$_POST["Nachname"]."%' AND vorname LIKE '%".$_POST["Vorname"]."%'
              AND firma LIKE '%".$_POST["Firma"]."%'
              AND email LIKE '%".$_POST["E-Mail"]."%'
              ORDER BY nachname";


              $result = mysql_query("SELECT nachname FROM contacts");
              $menge = mysql_num_rows($result);
              $wieviel_seiten = $menge / $eintraege_pro_seite;
              echo "<div align=\"center\">";
              echo "Seite: ";

              for($a=0; $a < $wieviel_seiten; $a++)
              {
              $b = $a + 1;
              if($seite == $b)
              {
              echo " $b "; }
              else
              {
              echo " <a href=\"?seite=$b\">$b</a> ";
              }
              }

              mfg
              Arturo

              Kommentar


              • #8
                Benutz mal PHP-Tags, dann schau ichs mir an.

                Kommentar


                • #9
                  Das ganze is ein einziger PHP Tag. Aber gut:

                  <?php

                  $seite = $_GET["seite"];
                  if(!isset($seite))
                  {
                  $seite = 1;
                  }
                  require("Data.php");

                  $connection= @mysql_connect($host, $dbuser,$dbpasswd)
                  or die(mysql_error());
                  mysql_select_db($dbname);

                  $eintraege_pro_seite = 15;
                  $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;
                  $abfrage = "SELECT nachname,vorname,firma,email,tel1,tel2,fax
                  FROM contacts
                  WHERE nachname LIKE '%".$_POST["Nachname"]."%' AND vorname LIKE '%".$_POST["Vorname"]."%'
                  AND firma LIKE '%".$_POST["Firma"]."%'
                  AND email LIKE '%".$_POST["E-Mail"]."%'
                  ORDER BY nachname
                  LIMIT $start, $eintraege_pro_seite";
                  $ergebnis = mysql_query($abfrage);



                  $abfrage = "SELECT nachname,vorname,firma,email,tel1,tel2,fax
                  FROM contacts
                  WHERE nachname LIKE '%".$_POST["Nachname"]."%' AND vorname LIKE '%".$_POST["Vorname"]."%'
                  AND firma LIKE '%".$_POST["Firma"]."%'
                  AND email LIKE '%".$_POST["E-Mail"]."%'
                  ORDER BY nachname";


                  $result = mysql_query("SELECT nachname FROM contacts");
                  $menge = mysql_num_rows($result);
                  $wieviel_seiten = $menge / $eintraege_pro_seite;
                  echo "<div align=\"center\">";
                  echo "Seite: ";

                  for($a=0; $a < $wieviel_seiten; $a++)
                  {
                  $b = $a + 1;
                  if($seite == $b)
                  {
                  echo " $b "; }
                  else
                  {
                  echo " <a href=\"?seite=$b\">$b</a> ";
                  }
                  }

                  ?>

                  Kommentar


                  • #10
                    lol, die PHP Tags des Forums

                    so:
                    Zitat von Arturo Leonardo
                    PHP-Code:
                    <?php

                    $seite 
                    $_GET["seite"]; 
                    if(!isset(
                    $seite)) 

                    $seite 1

                    require(
                    "Data.php"); 

                    $connection= @mysql_connect($host$dbuser,$dbpasswd
                    or die(
                    mysql_error()); 
                    mysql_select_db($dbname); 

                    $eintraege_pro_seite 15
                    $start $seite $eintraege_pro_seite $eintraege_pro_seite
                    $abfrage "SELECT nachname,vorname,firma,email,tel1,tel2,fax 
                    FROM contacts 
                    WHERE nachname LIKE '%"
                    .$_POST["Nachname"]."%' AND vorname LIKE '%".$_POST["Vorname"]."%' 
                    AND firma LIKE '%"
                    .$_POST["Firma"]."%' 
                    AND email LIKE '%"
                    .$_POST["E-Mail"]."%' 
                    ORDER BY nachname 
                    LIMIT 
                    $start$eintraege_pro_seite"
                    $ergebnis mysql_query($abfrage); 



                    $abfrage "SELECT nachname,vorname,firma,email,tel1,tel2,fax 
                    FROM contacts 
                    WHERE nachname LIKE '%"
                    .$_POST["Nachname"]."%' AND vorname LIKE '%".$_POST["Vorname"]."%' 
                    AND firma LIKE '%"
                    .$_POST["Firma"]."%' 
                    AND email LIKE '%"
                    .$_POST["E-Mail"]."%' 
                    ORDER BY nachname"



                    $result mysql_query("SELECT nachname FROM contacts"); 
                    $menge mysql_num_rows($result); 
                    $wieviel_seiten $menge $eintraege_pro_seite
                    echo 
                    "<div align=\"center\">"
                    echo 
                    "[b]Seite:[/b] "

                    for(
                    $a=0$a $wieviel_seiten$a++) 

                    $b $a 1
                    if(
                    $seite == $b

                    echo 
                    " [b]$b[/b] "; } 
                    else 

                    echo 
                    " <a href=\"?seite=$b\">$b</a> "



                    ?>

                    Kommentar


                    • #11
                      Hoppla
                      War keine Absicht

                      Kommentar


                      • #12
                        Zitat von Arturo Leonardo
                        Na gut sagen wir jemand möchte sich kontakte raussuchen im felht nur der Name also sucht er alles was mit "S" anfängt, die Db spuckt im 15 Einträge aus, aber eigendlich sind es mehr als 15, doch wenn dieser jemand eine Seite weiter gehen will, zeigt die Db ihm wieder alle 400 Einträge an.
                        Du musst auch die Kriterien, nach denen gesucht wurde, beim Blättern an die Folgeseiten übergeben. Wie soll dein Script sonst wissen, nach was es suchen muss?

                        Kommentar


                        • #13
                          Ja, klingt einleuchted, aber wie krieg ich das hin?
                          Wie kann ich ihm sagen was er auf Seite 2 anzeigen soll?

                          Kommentar


                          • #14
                            hab ich doch schon gesagt..

                            Kommentar


                            • #15
                              Ja ich weiß, mit Get. Doch wohin damit, und in welchem Zusammenhang?

                              Kommentar

                              Lädt...
                              X