Blätterfunktion funzt nicht ;o(

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

  • Blätterfunktion funzt nicht ;o(

    Hallo,

    ich möchte in meine Seite eine Blätterfunktion einbauen, damit nicht alle Einträge auf einmal angezeigt werden. Die Seite läd sich aber zu tode, weil das Script in einer Schleife hängt und ich finde den Fehler nicht. Wäre nett wenn mir jemand helfen könnte.

    Hier ein Codeschnipsel:

    if ($foto==1){
    $option =" and foto !='nopic.gif'";
    }

    //**********ANFANG DER BLÄTTERFUNKTION**************

    //Zeilen pro Seite
    $rows_per_page = 2;

    //anzahl der Treffer ermitteln
    $sql="select * from singles where geschlecht ='$geschlecht'$option";
    $result =mysql_query($sql);
    $items = mysql_num_rows($result);

    //wie viele Seiten sind das ?
    $pages = ceil($items / $rows_per_page);

    //welche Seiten sollen angezeigt werden (beginnend ab 1 anstatt 0)
    $page = isset ($_GET["page"])?$_GET["page"]:1;

    //grenzüberschreitung anfangen
    if ($page < 1) $page = 1;
    if ($page > $pages) $page = $pages;

    //offset für sql statement bestimmen
    $offset = ($page - 1) * $rows_per_page;

    //daten abfragen
    $result=mysql_query($sql . " LIMIT $offset, $rows_per_page");
    while ($row = mysql_fetch_array ($result)) {
    for($i=0; $i>$row;$i=$i+1){
    $nick = mysql_result($result, $i, "nick");
    $vname = mysql_result($result, $i, "vname");
    $famstand = mysql_result($result, $i, "famstand");
    $raucher = mysql_result($result, $i, "raucher");
    $ort = mysql_result($result, $i, "ort");
    $plz = mysql_result($result, $i, "plz");
    $geschlecht = mysql_result($result, $i, "geschlecht");
    $alt = mysql_result($result, $i, "alt");
    $gross = mysql_result($result, $i, "gross");
    $gewicht = mysql_result($result, $i, "gewicht");
    $haar = mysql_result($result, $i, "haar");
    $beschr = mysql_result($result, $i, "beschr");
    $userfile_name = mysql_result($result, $i, "foto");
    $************ = mysql_result($result, $i, "************");
    $beziehung = mysql_result($result, $i, "beziehung");
    $beruf = mysql_result($result, $i, "beruf");
    $hobbys = mysql_result($result, $i, "hobby");
    $chiffreu = mysql_result($result, $i, "chiffre");
    $points = mysql_result($result, $i, "points");
    echo"

    <table width=90% height=308 border=0 align=center cellpadding=0 cellspacing=0>
    <tr>
    <td valign=top bgcolor=#000000><table width=100% height=308 border=0 cellpadding=0 cellspacing=0>
    <tr>
    <td width=69% valign=top><div align=center>
    <p><font color=#FFFFFF face=Verdana, Arial, Helvetica, sans-serif><strong>Steckbrief
    von $nick</strong></font></p>
    <table width=100% border=0 cellspacing=0 cellpadding=0>
    <tr>
    <td width=42%><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>Name:</font></td>
    <td width=58%><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$vname</font></td>
    </tr>
    <tr bgcolor=#CCCCCC>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>Ort:</font></td>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>$ort</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>Raucher:</font></td>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$raucher</font></td>
    </tr>
    <tr bgcolor=#CCCCCC>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>Familienstand:</font></td>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>$famstand</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>Alter:</font></td>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$alt</font></td>
    </tr>
    <tr bgcolor=#CCCCCC>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>Gr&ouml;&szlig;e:</font></td>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>$gross</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>Gewicht:</font></td>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$gewicht</font></td>
    </tr>
    <tr bgcolor=#CCCCCC>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>Haarfarbe:</font></td>
    <td><foi?nt color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>$haar</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>Hobbys:</font></td>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$hobbys</font></td>
    </tr>
    <tr bgcolor=#CCCCCC>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>Beruf:</font></td>
    <td><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>$beruf</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>Beschreibung:</font></td>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$beschr</font></td>
    </tr>
    <tr>
    <td bgcolor=#CCCCCC><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>Ich
    suche eine/n:</font></td>
    <td bgcolor=#CCCCCC><font color=#000000 size=2 face=Verdana, Arial, Helvetica, sans-serif>$************</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>
    Beziehungswunsch:</font></td>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$beziehung</font></td>
    </tr>
    <tr>
    <td><font size=2 face=Verdana, Arial, Helvetica, sans-serif>&nbsp;</font></td>
    <td><font size=2 face=Verdana, Arial, Helvetica, sans-serif>&nbsp;</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>Bewertungspunkte:</font></td>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>$points</font></td>
    </tr>
    <tr>
    <td><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>jetzt
    bewerten</font></td>
    <td><form name=form1 method=post action=bewertung.php?chiffreu=$chiffreu&chiffre=$chiffre>
    <p> <font size=2 face=Verdana, Arial, Helvetica, sans-serif>
    <label> <font color=#FFFFFF> <br>
    <input name=points2 type=radio value=1 checked>
    1</font></label>
    <font color=#FFFFFF><br>
    <label>
    <input type=radio name=points2 value=2>
    2</label>
    <br>
    <label>
    <input type=radio name=points2 value=3>
    3</label>
    <br>
    <label>
    <input type=radio name=points2 value=4>
    4</label>
    <br>
    <label>
    <input type=radio name=points2 value=5>
    5</label>
    </font></font></p>
    <p><font color=#FFFFFF size=2 face=Verdana, Arial, Helvetica, sans-serif>

    <input type=submit name=Submit value=bewerten>
    <br>
    </font> </p>
    </form></td>
    </tr>
    <tr>
    <td><font size=2 face=Verdana, Arial, Helvetica, sans-serif>&nbsp;</font></td>
    <td><form name=form2 method=post action=messstep3.php?chiffreu=$chiffreu&chiffre=$chiffre>
    <font size=2 face=Verdana, Arial, Helvetica, sans-serif>

    <input type=submit name=Submit2 value=Nachricht_an_$nick>
    </font></form></td>
    </tr>
    </table>
    <p><strong><font color=#FFFFFF face=Verdana, Arial, Helvetica, sans-serif></font></strong></p>
    </div></td>
    <td width=31% align=center valign=top><br>
    <img src=image/$userfile_name width=100 height=150></td>
    </tr>
    </table></td>
    </tr>
    </table><br>";
    }
    }
    echo"<center><a href=ssuche.php?page=1&chiffre=$chiffre>Erste Seite</a>";
    for ($i = 1; $i <= $pages; $i++){
    echo"<a href=ssuche.php?page=$i&chiffre=$chiffre>$i</a>|";
    }
    echo"<a href=ssuche.php?page=$pages&chiffre=$chiffre>Letzte Seite</a>";

    //************ENDER DER BLÄTTERFUNKTION****************

  • #2
    PHP Code in [ PHP] Tags posten! Wenn du das gemacht hast, hast du 80% mehr Chancen eine Antwort zu bekommen..

    Außerdem solltest du dir überlegen, was wir an Code brauchen, um nicht 100 Zeilen zu posten, wovon wir aber nur 5 gebrauchen können..
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      Blätterfunktion noch einmal

      OK hier noch einmal der Quellcode,
      EDIT:
      bitte nicht zwei threads zum selben thema aufmachen, im ursprünglichen noch mal antworten reicht vollkommen (oder auch den eigenen ersten beitrag editieren).
      *zusammenführ*
      wahsaga



      ich denke das Problem liegt irgendwo bei der while Schleife. Hängt sich in der Schleife auf:

      PHP-Code:
      //Zeilen pro Seite
      $rows_per_page 2;
      //anzahl der Treffer ermitteln
      $sql="select * from singles where geschlecht ='$geschlecht'$option";
      $result =mysql_query($sql);
      $items mysql_num_rows($result);
      //wie viele Seiten sind das ?
      $pages ceil($items $rows_per_page);
      //welche Seiten sollen angezeigt werden (beginnend ab 1 anstatt 0)
      $page = isset ($_GET["page"])?$_GET["page"]:1;
      //grenzüberschreitung anfangen
      if ($page 1$page 1;
      if (
      $page $pages$page $pages;
      //offset für sql statement bestimmen
      $offset = ($page 1) * $rows_per_page;
      //daten abfragen
      $result=mysql_query($sql " LIMIT $offset$rows_per_page");
      //echo $result;
      while ($row mysql_fetch_array ($result)) {
      //for($i=0; $i<$row;$i=$i+1){
      $nick mysql_result($result$i"nick");
      $vname mysql_result($result$i"vname");
      $famstand mysql_result($result$i"famstand");
      $raucher mysql_result($result$i"raucher");
      $ort mysql_result($result$i"ort");
      $plz mysql_result($result$i"plz");
      $geschlecht mysql_result($result$i"geschlecht");
      $alt mysql_result($result$i"alt");
      $gross mysql_result($result$i"gross");
      $gewicht mysql_result($result$i"gewicht");
      $haar mysql_result($result$i"haar");
      $beschr mysql_result($result$i"beschr");
      $userfile_name mysql_result($result$i"foto");
      $************ = 
      mysql_result($result$i"************");
      $beziehung mysql_result($result$i"beziehung");
      $beruf mysql_result($result$i"beruf");
      $hobbys mysql_result($result$i"hobby");
      $chiffreu mysql_result($result$i"chiffre");
      $points mysql_result($result$i"points"); 
      Zuletzt geändert von wahsaga; 21.09.2004, 16:51.

      Kommentar


      • #4
        wer ist denn $i ?
        und warum nicht
        PHP-Code:
        $nick=$row["nick"
        ?
        eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

        Kommentar


        • #5
          Hier ein Codeschnipsel:
          knapp 200 Zeilen... ein wenig viel oder was meinst Du?

          so beim überfliegen ist mir nur das aufgefallen (ca. Z. 31)
          PHP-Code:
          for($i=0$i>$row;$i=$i+1){ 
          was möchtest Du damit bewirken?
          [Test] MySQL cli Emulator

          Kommentar


          • #6
            Ja jetzt funzt es fast ...

            OK ich habe den Code wie folgt abgeändert:
            Nur die Links gehen nicht, ich bekomme dann keine Daten!
            zu sehen unter http://www.x-nox.de/dating2 Zum testen Benutzername: Supisaschi Passwort: lunalina einfach auf der Startseite bei der schnellsuche Mann (alle) auswählen!

            PHP-Code:
            //Zeilen pro Seite
            $number 2;
            //anzahl der Treffer ermitteln
            $sql="select * from singles where geschlecht ='$geschlecht'$option";
            $erg mysql_query($sql);
            $pages ceil(mysql_num_rows($erg) / $number);
            $links = array();
            for(
            $i=0$i<$pages$i++) {
            $links[] = "<a href=\"$PHP_SELF?chiffre=$chiffre&start=".($i $number)."\">Seite ".($i 1)."</a>";
            }
            $links implode(" | ",$links);
            if((!isset(
            $start))||(empty($start))) { $start 0; }
            $result mysql_query($sql." limit $start$number");
            while (
            $row mysql_fetch_array ($result)) {
            $nick $row[nick];
            $vname $row[vname];
            $famstand $row[famstand];
            $raucher $row[raucher];
            $ort $row[ort];
            $plz $row[plz];
            $geschlecht $row[geschlecht];
            $alt $row[alt];
            $gross $row[gross];
            $gewicht $row[gewicht];
            $haar $row[haar];
            $beschr $row[beschr];
            $userfile_name $row[foto];
            $************ = 
            $row[************];
            $beziehung $row[beziehung];
            $beruf $row[beruf];
            $hobbys $row[hobby];
            $chiffreu $row[chiffre];
            $points $row[point]; 
            Zuletzt geändert von supisaschi; 21.09.2004, 17:25.

            Kommentar


            • #7
              Das mit dem benutzen von mysql_result() scheint sich zu ner Art Krankheit zu entwickeln, kenne noch jemand, der (jedenfalls bevor er mit mir was gemacht hat) sowas auch gemacht hat..

              Der Array $result enthält alle Elemente der Abfrage, das benutzen der Funktion mysql_result(..) ist schlicht gesagt unsinnig.

              Für dich zu empfehlen ist Schattenbaum.net

              Okay, die neue Version ist da, fehlt nur noch das abschließende [/PHP]
              PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

              Kommentar


              • #8
                Achja, zu empfehlen ist außerdem die Blätterklasse hier im Codeschnipsel Bereich..

                Du solltest dich allerdings dringend nochmal mit MySQL + PHP auseinandersetzen, was du jetzt veranstaltest ist nicht sonderlich perfomant..
                PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                Kommentar


                • #9
                  mysql_result(); in Verbindung mit mysql_fetch_array();
                  interessante Idee

                  Im übrigen
                  PHP-Code:
                  $i=$i+
                  geht auch schneller:
                  PHP-Code:
                  $i++; 
                  Da werden sie geholfen
                  [color=blue]MfG Payne_of_Death[/color]

                  [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                  [color=red]Merke:[/color]
                  [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                  Murphy`s Importanst LAWS
                  Jede Lösung bringt nur neue Probleme
                  Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                  In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                  Kommentar


                  • #10
                    Zählt nicht weiter

                    EDIT:
                    sag mal, verstehst du kein deutsch?
                    ich hatte dich bereits darauf hingewiesen, dass du für ein und das selbe thema nicht alle nase lang neue threads aufmachen sollst!
                    *zusammenführ* & *verwarnung*
                    wahsaga



                    Der zähler der die nächste Seite aufrufen soll zählt bei mir nicht weiter.
                    die $start wir im link übergeben:

                    PHP-Code:
                    //Zeilen pro Seite
                    $number 2;
                    //anzahl der Treffer ermitteln
                    $sql="select * from singles where geschlecht ='$geschlecht'$option";
                    $erg mysql_query($sql);
                    $pages ceil(mysql_num_rows($erg) / $number);
                    $links = array();
                    for(
                    $i=0$i<$pages$i++) {
                    $links[] = "<a href=\"$PHP_SELF?start=".($i $number)."&chiffre=$chiffre\">Seite ".($i+1)."</a>";
                    }
                    $links implode(" | ",$links);
                    if((!isset(
                    $start))||(empty($start))) { $start 0; } 
                    Zuletzt geändert von wahsaga; 21.09.2004, 19:26.

                    Kommentar


                    • #11
                      wie wärs mit $_GET['start'] ?
                      Kissolino.com

                      Kommentar

                      Lädt...
                      X