 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
06.12.2002, 16:00
|
#1
|
|
TP-Junior
Registriert seit: Dec 2002
|
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?
|
|
|
06.12.2002, 16:05
|
#2
|
|
TP-Specialist
Registriert seit: May 2001
Ort: Leipzig
|
|
|
|
06.12.2002, 17:37
|
#3
|
|
TP-Supporter
Registriert seit: Feb 2002
|
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 " <a href=\"". $PHP_SELF ."?limit=". ($a*$eintraege) ."\">". ($a+1) ."</a>";
}
else {
echo " [".($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 17:41 Uhr).
|
|
|
07.12.2002, 15:18
|
#4
|
|
TP-Junior
Registriert seit: Dec 2002
|
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ä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%\"> </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%\"> </td>\n";
echo "<td colspan=\"2\">Gattung: $row[gattung]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </td>\n";
echo "<td colspan=\"2\">Art: $row[art]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </td>\n";
echo "<td colspan=\"2\">ssp.: $row[ssp]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </td>\n";
echo "<td colspan=\"2\">Datum: $row[datum]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </td>\n";
echo "<td colspan=\"2\">Fundort: $row[fundort]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </td>\n";
echo "<td colspan=\"2\">Fundort Ergänzung: $row[fundort2]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </td>\n";
echo "<td colspan=\"2\">Tiefe in m: $row[tiefe]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </td>\n";
echo "<td colspan=\"2\">Größe in µm: $row[groesse]</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td width=\"10%\"> </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%"> </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:
Zitat:
|
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
|
|
|
07.12.2002, 16:08
|
#5
|
|
TP-Specialist
Registriert seit: May 2001
Ort: Leipzig
|
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...
|
|
|
07.12.2002, 16:11
|
#6
|
|
TP-Junior
Registriert seit: Dec 2002
|
sorry, hat ich ned dran gedacht
kann mir trotzdem jemand mit meinem problem aus meinem letzten post helfen?
|
|
|
07.12.2002, 16:23
|
#7
|
|
TP-Specialist
Registriert seit: May 2001
Ort: Leipzig
|
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 16:29 Uhr).
|
|
|
07.12.2002, 17:24
|
#8
|
|
TP-Junior
Registriert seit: Dec 2002
|
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ä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 17:45 Uhr).
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 02:27 Uhr.
|
 |