+ Antworten
Ergebnis 1 bis 8 von 8

Thema: Problem mit Blätter-Funktion

  1. #1
    TP-Junior philipp macht alles soweit korrekt
    Registriert seit
    Dec 2002
    Beiträge
    15

    Question blättern-funktion für gästebuch - wie?

    ich habe ein kleines gästebuch-script geschrieben
    zu bewundern unter: http://www.phytoplankton.info/index.php?open=gb
    unter den einträgen seht ihr ja "Seite:"
    ich möchte jetzt, dass jeweils nur 15 einträge pro seite angezeigt werden
    wenn das gb also 45 einträge beinhaltet solen auf der ersten seite nur die neuesten 15 angezeigt werden
    unter den einträgen soll dann "Seite: 1 2 3" stehen
    eben 15 einträge pro seite
    ich denke, ich könnt euch vorstellen, was ich vorhabe
    wie kann ich sowas realisieren?

  2. #2
    TP-Specialist Flixxtoras macht alles soweit korrekt
    Registriert seit
    May 2001
    Beiträge
    2.497

  3. #3
    TP-Insider P4r4 macht sich hier sehr viel Mühe Avatar von P4r4
    Registriert seit
    Feb 2002
    Beiträge
    550

    Seitenzahlen + textdatein

    wenn dein gästebuch auf eine db zugreift, dann kannst du es so machen wie unter den links von flixxtoras beschrieben, wenn du jedoch ein gb hast, dass auf textdatein zugreift, dann musst du das nen bissel anders machen.

    hier mal son grober grundriss:
    (es gibt da mit sicherheit elegantere möglichkeiten das zu machen!)

    PHP-Code:
    <?php

    $gbook 
    file("eintraege.txt");

    ###########Seitenzahlen###########

    $eintraege 15// Anzahl der Eintraege pro Seite
    if(!isset($limit)) $limit 0;
    $anz count($gbook);

    $anz_pages ceil($anz/$eintraege);
    $curr_page $limit/$eintraege;

    for(
    $a=0;$a<$anz_pages;$a++)
    {
        if(
    $a != $curr_page) {
            echo 
    "&nbsp;<a href=\""$PHP_SELF ."?limit=". ($a*$eintraege) ."\">". ($a+1) ."</a>";
        }
        else {
            echo 
    "&nbsp;[".($a+1)."]";
        }
    }

    ######################

    $x $limit;
    $max $limit $eintraege;
    do
    {
        if (
    $x == $max || $x $anz || $anz == $x) break;
        echo 
    "hier gibst du einfach das ganze gedöns aus!"$gbook[$x]; 
        
    /*
        $gbook[x] kannst du auch noch mit explode() auseinanderflücken!
        */
        
    $x++;
    }while(
    1);

    ?>
    Geändert von P4r4 (06.12.2002 um 16:41 Uhr)

  4. #4
    TP-Junior philipp macht alles soweit korrekt
    Registriert seit
    Dec 2002
    Beiträge
    15

    Unhappy Problem mit Blätter-Funktion

    versuche grad eine blätter,-funkton in eines meiner scripte einzubauen
    den code für die funktion hab ich aus diesem thread
    der entsprechende code sieht bei mir jetzt so aus (hoffe, es ist nicht zu konfus )
    Code:
    $entries = 15; //Wieviele Datensätze sollen pro Seite angezeigt werden?
    
    if(!isset($limit)) $limit = 0;
    $sqlab = "select * from plankton order by id desc";
    
    $res = mysql_query($sqlab);
    $num = mysql_num_rows($res);
    
    $info = "Alle Eintr&auml;ge ($num)";
    
    $sqlab = "select from plankton order by id desc limit $limit, $entries";
    $res = mysql_query($sqlab);
    $num_pages = ceil($num/$entries);
    $curr_page = $limit/$entries;
    
    echo "<span class=\"heading\">$info</span><br>\n";
    echo "<table width=\"500\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\">\n";
    echo "<tr>\n";
    echo "<td height=\"30\" colspan=\"3\"> <hr width=\"100%\" size=\"1\" color=\"#CCCCCC\" noshade>\n";
    echo "</tr>\n";
    
    while ($row = mysql_fetch_array($res))
    {
    	$imgsrc = "db_upload/".$row[bild];
    	$size = @getimagesize($imgsrc);
    	$loadimg = "db_upload/loadimg.php?iname=".$row[bild];
    	
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Taxon: <a href=\"#\" onClick=\"MM_openBrWindow('$loadimg','','width=$size[0],height=$size[1]')\">$row[taxon]</a></td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Gattung: $row[gattung]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Art: $row[art]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">ssp.: $row[ssp]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Datum: $row[datum]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Fundort: $row[fundort]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Fundort Erg&auml;nzung: $row[fundort2]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Tiefe in m: $row[tiefe]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Gr&ouml;&szlig;e in &micro;m: $row[groesse]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n";
    	echo "<td width=\"10%\">&nbsp;</td>\n";
    	echo "<td colspan=\"2\">Bemerkungen: $row[bemerkungen]</td>\n";
    	echo "</tr>\n";
    	echo "<tr>\n"; 
        echo "<td height=\"30\" colspan=\"3\"> <hr width=\"100%\" size=\"1\" color=\"#CCCCCC\" noshade>\n";
      	echo "</tr>\n";
    }
    mysql_close();
    ?>
    <tr> 
      <td width="10%">&nbsp;</td>
      <td>Seiten:
      <?php
      if($curr_page != 0)
      {?>
      	<a href="index.php?open=db&sub=show&limit=<?php echo ($limit-$entries); ?>"> << </a>
      <?php } ?>
      <?php
      for($a=0;$a<$num_pages;$a++)
      {
      	if($a != $curr_page)
        { ?>
    		<a href="index.php?open=db&sub=show&limit=<?php echo ($a*$entries); ?>"><?php echo ($a+1); ?></a> <?php
        }
        else
        {
            echo "[".($a+1)."]";
        }
      }
      ?>
      <?php
      if(($limit+$entries) < $num)
      {?>
      	<a href="index.php?open=db&sub=show&limit=<?php echo ($limit+$entries); ?>"> >> </a>
      <?php } ?>
      </td>
      <td width="35%" align="right"><a href="#top">nach oben scrollen</a></td>
    </tr></table>
    wenn ich das script jetzt aufrufe, erhalte ich folgenden fehler:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /kunden/phytoplankton.info/webseiten/content/db_show.php on line 31
    zeile 31 ist diese
    Code:
    while ($row = mysql_fetch_array($res))
    was genau mach ich falsch?
    hier könnt ihr euch den fehler anschauen

    hoffe, ihr könnt mir helfen

  5. #5
    TP-Specialist Flixxtoras macht alles soweit korrekt
    Registriert seit
    May 2001
    Beiträge
    2.497
    hallo philipp,

    warum machst du noch ein extra Thema auf?
    Du kannst doch dein Problem auch in dem Ursprungsthema posten.

    Ich führe die beiden Threads mal zusammen...

  6. #6
    TP-Junior philipp macht alles soweit korrekt
    Registriert seit
    Dec 2002
    Beiträge
    15
    sorry, hat ich ned dran gedacht
    kann mir trotzdem jemand mit meinem problem aus meinem letzten post helfen?

  7. #7
    TP-Specialist Flixxtoras macht alles soweit korrekt
    Registriert seit
    May 2001
    Beiträge
    2.497
    Habe grad keine Zeit aber...

    vermtlich stimmt dein Query nicht.
    Hast du den Query mal mit phpMyAdmin probiert?
    Ein Tipp von mit die MySQL Query Befehle (ORDER BY, SELECT) immer groß schreiben. Und am besten nicht SELECT * FROM sondern SELECT id, name, text...

    Vorher:
    $sqlab = "SELECT FROM plankton ORDER BY id DESC LIMIT $limit, $entries";

    Nachher:
    $sqlab = "SELECT FROM plankton ORDER BY id DESC LIMIT $limit,$entries";

    siehe auch:

    -> http://www.traum-projekt.com/forum/s...d+MySQL+result

    http://www.traum-projekt.com/forum/s...d+MySQL+result

    PHP-FAQ
    27.4. Supplied argument is not a valid MySQL result...

    -> http://www.php-faq.de/q/q-fehler-mysql-result.html

    Viel Glück!

    PHP-Code:
    <?php
    $entries 
    15// Wieviele Datensätze sollen pro Seite angezeigt werden?

    if(!isset($limit)) $limit 0;
    $sqlab "SELECT * FROM plankton ORDER BY id DESC";

    $res mysql_query($sqlab);
    $num mysql_num_rows($res);

    $info "Alle Einträge ($num)";

    $sqlab "SELECT FROM plankton ORDER BY id DESC LIMIT $limit,$entries";
    $res mysql_query($sqlab);
    $num_pages ceil($num/$entries);
    $curr_page $limit/$entries;

    if(!isset(
    $limit)) $limit 0;
    $result mysql_query("SELECT id,titel,time,content FROM news WHERE status='view'");
    $anz mysql_num_rows($result);
    $result mysql_query("SELECT id,titel,time,content FROM news WHERE status='view' ORDER BY time DESC LIMIT $limit,$eintraege");
    $anz_pages ceil($anz/$eintraege);
    $curr_page $limit/$eintraege;

    echo 
    "<span class=\"heading\">$info</span><br>\n
    <table width=\"500\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\">\n
    <tr>\n
    <td height=\"30\" colspan=\"3\"> <hr width=\"100%\" size=\"1\" color=\"#CCCCCC\" noshade>\n
    </tr>\n"
    ;

    while (
    $row mysql_fetch_array($res))
        {
        
    $imgsrc "db_upload/".$row[bild];
        
    $size = @getimagesize($imgsrc);
        
    $loadimg "db_upload/loadimg.php?iname=".$row[bild];
        echo 
    "<tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Taxon: <a href=\"#\" onClick=\" MM_openBrWindow('$loadimg','','width=$size[0],heig
    ht=$size[1]')\">$row[taxon]</a></td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Gattung: $row[gattung]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Art: $row[art]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">ssp.: $row[ssp]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Datum: $row[datum]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Fundort: $row[fundort]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Fundort Ergänzung: $row[fundort2]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Tiefe in m: $row[tiefe]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Größe in µm: $row[groesse]</td>\n
    </tr>\n
    <tr>\n
    <td width=\"10%\"> </td>\n
    <td colspan=\"2\">Bemerkungen: $row[bemerkungen]</td>\n
    </tr>\n
    <tr>\n
    <td height=\"30\" colspan=\"3\"> <hr width=\"100%\" size=\"1\" color=\"#CCCCCC\" noshade>\n
    </tr>\n"
    ;
        }
    mysql_close();
    ?>
    <tr> 
      <td width="10%"> </td>
      <td>Seiten:
      <?php
      
    if($curr_page != 0)
      {
    ?>
          <a href="index.php?open=db&sub=show&limit=<?php echo ($limit-$entries); ?>"> << </a>
      <?php ?>
      <?php
      
    for($a=0;$a<$num_pages;$a++)
      {
          if(
    $a != $curr_page)
        { 
    ?>
            <a href="index.php?open=db&sub=show&limit=<?php echo ($a*$entries); ?>"><?php echo ($a+1); ?></a> <?php
        
    }
        else
        {
            echo 
    "[".($a+1)."]";
        }
      }
      
    ?>
      <?php
      
    if(($limit+$entries) < $num)
      {
    ?>
          <a href="index.php?open=db&sub=show&limit=<?php echo ($limit+$entries); ?>"> >> </a>
      <?php ?>
      </td>
      <td width="35%" align="right"><a href="#top">nach oben scrollen</a></td>
    </tr></table>
    Geändert von Flixxtoras (07.12.2002 um 15:29 Uhr)

  8. #8
    TP-Junior philipp macht alles soweit korrekt
    Registriert seit
    Dec 2002
    Beiträge
    15
    hab den fehler gefunden
    hatte blos ein "*" in der mysql_query vergessen
    jetzt funktioniert alles so, wie es soll
    trotzdem, eine frage hab ich noch:
    wie kann ich den code jetzt noch optimieren bzw. die verarbeitung beschleunigen?
    PHP-Code:
    $show_entries 10//Wieviele Datensätze sollen pro Seite angezeigt werden?

    if(!isset($limit)) $limit 0;

    $sql "SELECT * FROM plankton ORDER BY id DESC";
    $res mysql_query($sql);
    $num mysql_num_rows($res);
    $sql "SELECT * FROM plankton ORDER BY id DESC LIMIT $limit, $show_entries";
    $res mysql_query($sql);
    $num_pages ceil($num/$show_entries);
    $curr_page $limit/$show_entries;

    $info "Alle Eintr&auml;ge ($num)";

    echo 
    "<span class=\"heading\">$info</span><br>\n";
    echo 
    "<table width=\"500\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\">\n";
    echo 
    "<tr>\n";
    echo 
    "<td height=\"30\" colspan=\"3\"> <hr width=\"100%\" size=\"1\" color=\"#CCCCCC\" noshade>\n";
    echo 
    "</tr>\n";

    while (
    $row mysql_fetch_array($res))
    {...} 
    und
    PHP-Code:
    <?php
      
    if($curr_page != 0)
      {
          echo 
    "<a href=\"index.php?open=db&sub=show&limit=".($limit-$show_entries)."\"> << </a>";
      } 

      for(
    $a=0$a<$num_pages$a++)
      {
          if(
    $a != $curr_page)
          { 
              echo 
    "<a href=\"index.php?open=db&sub=show&limit=".($a*$show_entries)."\">".($a+1)."</a> ";
          }
          else
          {
              echo 
    "<u>".($a+1)."</u> ";
          }
      }

      if((
    $limit+$show_entries)<$num)
      {
          echo 
    "<a href=\"index.php?open=db&sub=show&limit=".($limit+$show_entries)."\"> >> </a>";
      }
      
    ?>
    wie könnte ich z.B. folgendes realisieren:
    im moment wird über den datensätzen "Alle Einträge (*anzahl*)" angezeigt
    wie kann ich daraus "Zeige Einträge 10 bis 20 von *anzahl*" machen (bezogen auf die zweite seite und ein limit von 10)?
    bin für jeden vorschlag dankbar
    Geändert von philipp (07.12.2002 um 16:45 Uhr)

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51