Avatar billede chrismax Nybegynder
21. juni 2002 - 08:08 Der er 10 kommentarer

5 nyeste indlæg?

Jeg har downloadet et messageboard her: http://thomas.prydslauritsen.dk

Og så ville jeg høre om nogen vidste hvordan man fik den til kun at vise de fem første og ikke alle indlæg som den gør i oversigten.

Jeg spurgte ham der havde programmeret det - Han sagde jeg skulle rette linie 26 til
for ($i = 0; $i < $antalindlaeg && $i < 5; $i++) {
Det gjorde jeg så, men det viser de 5 første indlæg, som er blevet skrevet - ikke de 5 seneste.

Nogen der ved hvad der skal stå for at vise de 5 seneste?

MVH Christina
Avatar billede ghazaleh Nybegynder
21. juni 2002 - 08:15 #1
prøv med:

$j = 0;
for($i = $antalindlaeg && $j < 5; $i >= 0; $i--){
inc($j);
Din kode der henter indlægget
}
Avatar billede chrismax Nybegynder
21. juni 2002 - 08:21 #2
Jeg får denne fejl:
Parse error: parse error in D:\web\chriss.dk_dfgtre\wwwroot\stuff\messageboard\vis5nye.php on line 29

Hvis jeg skriver:
$j = 0;
for($i = $antalindlaeg && $j < 5; $i >= 0; $i--){
inc($j);
or ($i = 0; $i < $antalindlaeg && $i < 5; $i++)
}
Avatar billede ghazaleh Nybegynder
21. juni 2002 - 08:30 #3
jeg var vist ikke tydlig nok, jeg mente at du skulle erstatte

($i = 0; $i < $antalindlaeg && $i < 5; $i++)

med

$j = 0;
for($i = $antalindlaeg; $j < 5 && $i >= 0; $i--){
inc($j);

men jeg lavede vist også en fejl, prøv at erstatte det med denne kode
Avatar billede chrismax Nybegynder
21. juni 2002 - 08:34 #4
Nu får jeg samme fejl, bare på linie 65.
Avatar billede ghazaleh Nybegynder
21. juni 2002 - 08:37 #5
hmmm det er svært at sige hvad der er galt uden at se koden, du kunne ikke kopiere den hertil?
Avatar billede chrismax Nybegynder
21. juni 2002 - 09:12 #6
Koden til den fil som viser alle indlæg:

<a href="skrivindlaeg.php">Skriv nyt indlæg</a>
<hr>

<?php
/*
    Messageboard v0.2
    Af Thomas Pryds Lauritsen, 2001
    thomas@prydslauritsen.dk
    PGP key: http://thomas.prydslauritsen.dk/tlpgpkey.asc
*/

// Denne fil udskriver en liste på skærmen over de indlæg, der er.
// Alle indlæg hedder 'indlaegX.txt', hvor X er et tal fra 0 til ?

/*
Husk, hvis din server kører Unix, at give filen antalindlaeg.txt og
biblioteket,
det hele ligger i, skriverettigheder for alle.
*/

// Hent nummer på sidste indlæg
$fil = fopen ("antalindlaeg.txt", "r");
$antalindlaeg = fgets ($fil, 1024);
fclose($fil);
$listenr = 0;
for ($i = 0; $i < $antalindlaeg; $i++) {
    if (file_exists("indlaeg$i.txt")) {
        $fil = fopen ("indlaeg$i.txt", "r");
        $besked["navn"][$listenr] = fgets ($fil, 4096);
        $besked["email"][$listenr] = fgets ($fil, 4096);
        $besked["emne"][$listenr] = fgets ($fil, 4096);
        $besked["dato"][$listenr] = fgets ($fil, 4096);
        $besked["id"][$listenr] = $i;
        fclose($fil);
        $listenr++;
    }
}


// Sortér beskeder efter dato
// array_multisort ($besked["dato"], SORT_ASC, SORT_STRING);

print "<table border=0 width=400 cellspacing=0 cellpadding=0><tr
bgcolor=\"#dddddd\">
<td><b>Emne</b></td>";

// for ($i = 0; $i < count($besked["navn"]); $i++) {  // sorter nedad
for ($i = count($besked["navn"]) - 1; $i >= 0; $i--) { // sorter opad
    if ($i % 2 == 1) {  // hvis $i er et ulige nummer
        $baggrund = "#ffffff";
    } else {
        $baggrund = "#eeeeee";
    }

    print "<tr bgcolor=\"$baggrund\"><td><a href=\"visindlaeg.php?id=" . $besked["id"][$i] . "\">" . $besked["emne"][$i] . "</a></td>";
}
print "</table>";



?>


Mit eksempel kan ses på http://www.chriss.dk/stuff/messageboard/liste.php
Avatar billede ghazaleh Nybegynder
21. juni 2002 - 09:24 #7
Prøv med denne kode i stedet:

<a href="skrivindlaeg.php">Skriv nyt indlæg</a>
<hr>

<?php
/*
    Messageboard v0.2
    Af Thomas Pryds Lauritsen, 2001
    thomas@prydslauritsen.dk
    PGP key: http://thomas.prydslauritsen.dk/tlpgpkey.asc
*/

// Denne fil udskriver en liste på skærmen over de indlæg, der er.
// Alle indlæg hedder 'indlaegX.txt', hvor X er et tal fra 0 til ?

/*
Husk, hvis din server kører Unix, at give filen antalindlaeg.txt og
biblioteket,
det hele ligger i, skriverettigheder for alle.
*/

// Hent nummer på sidste indlæg
$fil = fopen ("antalindlaeg.txt", "r");
$antalindlaeg = fgets ($fil, 1024);
fclose($fil);
$listenr = 0;
for ($i = 0; $i < $antalindlaeg; $i++) {
  $maxindlaeg = ($antalindlaeg - $i);
  if ($maxindlaeg <= 5) { 
      if (file_exists("indlaeg$i.txt")) {
        $fil = fopen ("indlaeg$i.txt", "r");
        $besked["navn"][$listenr] = fgets ($fil, 4096);
        $besked["email"][$listenr] = fgets ($fil, 4096);
        $besked["emne"][$listenr] = fgets ($fil, 4096);
        $besked["dato"][$listenr] = fgets ($fil, 4096);
        $besked["id"][$listenr] = $i;
        fclose($fil);
        $listenr++;
      } 
  }
}


// Sortér beskeder efter dato
// array_multisort ($besked["dato"], SORT_ASC, SORT_STRING);

print "<table border=0 width=400 cellspacing=0 cellpadding=0><tr
bgcolor=\"#dddddd\">
<td><b>Emne</b></td>";

// for ($i = 0; $i < count($besked["navn"]); $i++) {  // sorter nedad
for ($i = count($besked["navn"]) - 1; $i >= 0; $i--) { // sorter opad
    if ($i % 2 == 1) {  // hvis $i er et ulige nummer
        $baggrund = "#ffffff";
    } else {
        $baggrund = "#eeeeee";
    }

    print "<tr bgcolor=\"$baggrund\"><td><a href=\"visindlaeg.php?id=" . $besked["id"][$i] . "\">" . $besked["emne"][$i] . "</a></td>";
}
print "</table>";



?>
Avatar billede chrismax Nybegynder
21. juni 2002 - 09:28 #8
Dent viser til og med "emne" så kommer der ikke mere :/
http://www.chriss.dk/stuff/messageboard/liste2.php
Avatar billede ghazaleh Nybegynder
21. juni 2002 - 09:50 #9
hmm jeg prøvede lige at skrive en test, jeg vil gerne kigge på det lidt senere, men jeg har desværre ikke tid lige foreløbig
Avatar billede woowii Nybegynder
21. juni 2002 - 17:44 #10
Hvis jeg var dig, ville jeg gøre sådan, at hvis de ikke skrev deres navn, overskrift osv. så kunne de ikke tilføje, før de skrev det... :)
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