|
Categorieën >
PHP & SQL
een aantal rijen uit een database ophalen
|
|
|
offline
|
HTML gevorderde
|
Ik bouw een weblog. Er zijn een aantal entries die volgnummers (auto_increment) krijgen.
De tabel weblog is als volgt opgebouwd:
$query = ("CREATE TABLE weblog (id int(6) NOT NULL auto_increment primary key, userid int(2) NOT NULL default '', tekst text NOT NULL default '', datum date NOT NULL default '', uur time NOT NULL default '')");
$query = ("CREATE TABLE weblog (id int(6) NOT NULL auto_increment primary key, userid int(2) NOT NULL default '', tekst text NOT NULL default '', datum date NOT NULL default '', uur time NOT NULL default '')");
Nu wil ik steeds de eerste entry en de 10 laatste weergeven op het scherm. Als er een bericht gepost wordt komt er een id bij, en dan moet alles ook blijven kloppen. Hoe ziet de query eruit om dit te bereiken? |
4 antwoorden
Maarten – 15/11/2004 23:43 (Laatst gewijzigd op 15/11/2004 23:44)
|
|
offline
|
Erelid
|
Dus als ik het goed begrijp moet het eerste bericht blijven staan, de rest moet altijd de laatste tien zijn.
Dan zou ik dat eerste bericht in een aparte tabel stoppen, of 2 query's maken:
<?php
$query1 = "SELECT * FROM blaat WHERE id = '1'";
// en dan de rest
$aantalrijen = // [ het aantal rijen met mysql_num_rows()];
$begin = $aantalrijen - 10;
$query2 = "SELECT * FROM blaat WHERE id != '1' ORDER BY id DESC LIMIT $begin,$aantalrijen";
?>
<?php $query1 = "SELECT * FROM blaat WHERE id = '1'"; // en dan de rest $aantalrijen = // [ het aantal rijen met mysql_num_rows()]; $begin = $aantalrijen - 10; $query2 = "SELECT * FROM blaat WHERE id != '1' ORDER BY id DESC LIMIT $begin,$aantalrijen"; ?>
Zo ongeveer zou ik het doen.
|
|
|
|
offline
|
HTML gevorderde
|
hartelijk bedankt Murphy.
@Bladin: het is een eenvoudig weblog waarbij iedereen onder elkaar reacties geeft. Dus staat alles in 1 tabel. Maar toch bedankt voor de moeite.
|
|
|
|
offline
|
MySQL ver gevorderde
|
integers buiten quotes!!
|
Dit onderwerp is gesloten.
|
|
|