Avatar billede benzon Praktikant
24. maj 2003 - 18:52 Der er 14 kommentarer og
1 løsning

Nyheds Arkiv ?

Jeg viser 3 nyheder på forsiden af min side, resten af nyheder skal ind i arkivet hvordan slipper jeg for at de aktuelle nyheder kommer ind under Arkivet ?
Avatar billede sukos Juniormester
24. maj 2003 - 18:54 #1
to query's?
eller en som henter de tre første, og som også henter de efterflg.
Avatar billede sukos Juniormester
24. maj 2003 - 18:55 #2
Og som så vises når de skal vises :O)
Avatar billede sukos Juniormester
24. maj 2003 - 18:55 #3
(spørg mig ikke om kode til det!) :O(
Avatar billede schaefner Juniormester
24. maj 2003 - 18:56 #4
Hvordan mener du med nyhedarkiv?
Avatar billede schaefner Juniormester
24. maj 2003 - 19:09 #5
Du kan vel lave noget ala:

<?php
$i = 0;
$query = mysql_query("SELECT * FROM nyheder ORDER BY id DESC") or die (mysql_error());
while($row = mysql_fetch_array($query)) {
    if ($i <= 3) {
        echo "<h1>$row[overskrift]</h1>";
        echo nl2br($row[nyhed]);
        $i++;
    } else {
        echo "<hr>";
        echo "<a href='nyhed.php?id=$row[id]'>$row[overskrift]</a> ($row[dato])<br>";
    }
}
?>
Avatar billede benzon Praktikant
24. maj 2003 - 19:56 #6
Btw. en anden lille ting jeg står og skal bruge kan du hjælpe mig med det schaefner

har et sted hvor jeg skal bruge where team = '$team' & res = 'v'

Er det godt nok eller skal det være AND ?
Avatar billede schaefner Juniormester
24. maj 2003 - 19:58 #7
Mener godt at du kan bruge &&, men AND er jeg da sikker på virker. Skal ikke kunne sige hvad der er mest korrekt.
Avatar billede tipsen Nybegynder
24. maj 2003 - 20:29 #8
Der er en lille forskel på && og AND, men ikke noget man normalt bemærker.

-men hvis de "aktuelle nyheder" altid er de 3 nyeste (efter id), hvorfor så ikke bare lave en limit?

SELECT * FROM nyheder ORDER BY id DESC LIMIT 3, -1
Avatar billede benzon Praktikant
24. maj 2003 - 21:04 #9
har jeg også på forsiden men nyheds arkivet skal jo kun vise de gamle der ikke står på forsiden
Avatar billede benzon Praktikant
24. maj 2003 - 21:15 #10
ja ok tipsen din ide er ret simpel :D og funker men hvordan laver jeg så næste >> altså sådan at alle nyheder ikke står på en side med det du har givet mig ?
Avatar billede tipsen Nybegynder
24. maj 2003 - 21:53 #11
En grundlæggende ide - så må du selv lige passe det til, så det passer:

$page = isset($_GET['page']) ? intval($_GET['page']) : 0;
$num = 5; //antal nyheder pr. side

SELECT * FROM nyheder ORDER BY id DESC LIMIT 3+($page-1)*$num, $num

<a href="$PHP_SELF?$page=$page-1">prev</a>
<a href="$PHP_SELF?$page=$page+1">next</a>
Avatar billede benzon Praktikant
25. maj 2003 - 02:25 #12
syntes ikke lige det eks fungere jeg får en fejl der heder
You have an error in your SQL syntax near '(0-1)*5, 5' at line 1
Avatar billede tipsen Nybegynder
25. maj 2003 - 09:46 #13
du kan ikke lave beregningen i MySQL - den skal laves i PHP - MySQL forventer en integer på offset-positionen i limit-klausulen - ikke en beregning der giver en integer - som sagt skulle du selv arbejde lidt udfra ideen ;-)
Avatar billede benzon Praktikant
25. maj 2003 - 14:28 #14
jeg løste den lidt på en anden måde
Avatar billede tipsen Nybegynder
25. maj 2003 - 14:47 #15
-hvordan?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester