Nur die ersten 10 Anzeigen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anforderung
bedingung
befehl
board
datensatz
garantie
insoweit
letzte
limit
order
punkten
result
schleifen
sekunde
tabelle
ticker
vielen anfragen
vorschlag
zehn
zeile
-
Hi,
ich habe mir ein Ticker zusammengebaut!
<html>
<head><title>Ticker</title></head>
<body>
<marquee>
<?php
include ("db.php");
$query = "SELECT * FROM bb1_threads ORDER BY timelastreply DESC";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) { ?>
<tr>
<td><a target=_top href="http://mawes.milten.lima-city.de/wbboard/thread.php?threadid=<?=$line[threadid]?>&boardid=<?=$line[boardparentid]?>"><?=$line[threadname]?></a></td>
</tr>
<?PHP
}
mysql_free_result($result);
mysql_close();
?>
</table>
</marquee>
</body>
</html>
So, jetzt werden nat?rlich alle Threads ausgegeben!!!
Wie kann ich es machen, dass nur sie letzten 10 ausgegeben werden? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo
Ich w?rde in der while-Schleife noch einen Bedingung einbauen.
Sowas wie "...&&i<10..." und i wird in der Schlife einfach mit "i++" weitergez?hlt.
Edit:
i=0;
while ($line = mysql_fetch_array($result)&&i<10) {
i++;
?>
<tr>
<td><a target=_top href="http://mawes.milten.lima-city.de/wbboard/thread.php?threadid=<;?=$line[threadid]?>&boardid=<?=$line[boardparentid]?>"><?=$line[threadname]?></a></td>
</tr>
<?PHP
}
Jens -
Wie w?rde das dann aussehen???
Ich kann PHP halt noch net so toll! -
Ich denke damit m?sste es gehen, dass er immer nur die letzten 10 ausgibt, aber ich ?bernehme keine Garantie
include ("db.php"); $query = "SELECT * FROM bb1_threads ORDER BY timelastreply DESC"; $result = mysql_query($query); //das hab ich eingef?gt $zeile= mysql_num_rows($result)-10; if ($zeile<0) $zeile=0; mysql_data_seek($result,$zeile); while ($line = mysql_fetch_array($result)) { ?> <tr> <td><a target=_top href="http://mawes.milten.lima-city.de/wbboard/thread.php?threadid=<;?=$line[threadid]?>&boardid=<?=$line[boardparentid]?>"><?=$line[threadname]?></a></td> </tr> <?PHP } mysql_free_result($result); mysql_close();
Probiers mal und sag mir obs geht, denn getestet hab ich es noch nicht. -
Naja, mein Vorschlag ist mawes am ?hnlichsten. Ich w?rde den MySQL-Befehl insoweit ?ndern, das der MYSQL-Server nur zehn ausgibt (erspart minimale Rechenzeit):
<html>
<head><title>Ticker</title></head>
<body>
<marquee>
<?php
include ("db.php");
$query = "SELECT * FROM bb1_threads ORDER BY timelastreply DESC LIMIT 0 , 10";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) { ?>
<tr>
<td><a target=_top href="http://mawes.milten.lima-city.de/wbboard/thread.php?threadid=<;?=$line[threadid]?>&boardid=<?=$line[boardparentid]?>"><?=$line[threadname]?></a></td>
</tr>
<?PHP
}
mysql_free_result($result);
mysql_close();
?>
</table>
</marquee>
</body>
</html>
Der Limit-Befehl im SQL-String sorgt daf?r nur Teile einer Tabelle auszugeben:
Limit 0, 10 hei?t, das ab Datensatz 0 genau 10 Zeilen ausgegeben werden
Limit 20, 30 hei?t, das ab Datensatz 20 genau 30 Zeilen ausgegeben werden
Das sind zwar nur 100stel Sekunden, um welche die Anforderung schneller wird, aber bei vielen Anfragen erh?ht das erheblich den Seitenaufbau!
Edit (by Thornet): MEINE G?TE! Verzerrt das board doch bitte nicht so extrem!!!! -
Edit (by Thornet): MEINE G?TE! Verzerrt das board doch bitte nicht so extrem!!!!
H?, wo was???
---
THX! Kenny das gibt 100 Punkte!
Thread erledigt!
***bitte schlie?en*** -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage