Avatar billede kappel Nybegynder
28. august 2003 - 13:57 Der er 44 kommentarer og
1 løsning

Nyhedssystem, antal viste.

Jeg har et nyhedssystem på http://super6.kappels.net

Mit spørgsmål er om det er muligt at bestemme, vha admin delen - hvor mange nyheder der skal vises på en gang.

Samt give de besøgende mulighed for at søge i alle nyhederne?

Håber i kan hjælpe

Venlig hilsen Mikkel
Avatar billede exp Juniormester
28. august 2003 - 14:07 #1
Det kan det godt... men det ktræver at du skal ind og redigere og tilføje kode
Avatar billede kappel Nybegynder
28. august 2003 - 14:09 #2
Det er jeg klar på.

Skal jeg vise dig lidt koder?
Avatar billede exp Juniormester
28. august 2003 - 14:18 #3
Du skal lave en funktion der gemmer (fx i en tekstfil) det antal nyheder der skal vises. Denne funktion skal du så kunne ændre i administrationsmodulet. Jeg laver personligt altid en config.php med alle de data i, så er det forholdsvis enkelt at programmere.
Når der så skal udskrives det valgte antal nyheder, så kaldes tallet fra filen, hvorefter nyhederne udskrives
Avatar billede kappel Nybegynder
28. august 2003 - 14:45 #4
Michael Kjeldsen er det ikke dig?
Fordi det er dit script jeg bruger, jeg er virkelig glad for det. Det er alle tiders.

Har lige tilføjet en 6. nyhed og der kunne jeg se at der kun bliver vist 5.

Ved du om det kan ændres? og hvad med en søgeunktion er det muligt?

Mikkel
Avatar billede exp Juniormester
28. august 2003 - 14:53 #5
i include.php er der mulighed for at indstille antal viste nyheder
Avatar billede kappel Nybegynder
28. august 2003 - 14:58 #6
kan man gøre sådan, at det kan gøres online?
Avatar billede exp Juniormester
28. august 2003 - 15:08 #7
Ja, som jeg beskrev ovenfor :-)
Avatar billede kappel Nybegynder
28. august 2003 - 15:12 #8
Har du evt. et udkast til en sådan config.php
Avatar billede exp Juniormester
28. august 2003 - 15:17 #9
config.php er det samme som include.php
Avatar billede avminarm Juniormester
28. august 2003 - 16:25 #10
kappel kører nyhedssystemet i database??
Avatar billede kappel Nybegynder
28. august 2003 - 16:30 #11
Jepper
Avatar billede exp Juniormester
28. august 2003 - 16:42 #12
avminarm >>
Scriptet ligger her:
www.script.dk/sourcecode.jsp?resourceId=1039
Avatar billede avminarm Juniormester
29. august 2003 - 08:41 #13
Du kan lave en tabel der hedder config hvis du ikke vil til at rode med txt filer og evt. slippe for at chmode.

f.eks: CREATE TABLE `config` (
  `id` int(11) NOT NULL,
  `antal_news` int(1) NOT NULL default '10',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

så laver du bare en lille opdateringsformular og herefter retter du i include.php så:

// Antal poster vist
$numofposts = '5';

bliver til:

// Antal poster vist
mysql_select_db($database, $db);
$conf = mysql_query("select antal_news from config");
$numofposts = mysql_result($conf,0);
Avatar billede kappel Nybegynder
29. august 2003 - 08:55 #14
Hvad skal opdateringsformularen indeholde?
Har ikke så meget erfaring, men vil gerne lære det.
Jeg bruger dreamweaver.
Avatar billede avminarm Juniormester
29. august 2003 - 09:42 #15
noget i denne stil i en fil for sig selv - husk nu at beskytte den:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

<select name="antal">
<?php
$min = 1;
$max = 30;

for($i = $min; $i <= $max; $i++){
    echo "<option value=".$i.">$i</option>\n";
}
?>
</select>

<input type="hidden" name="op" value="ds">
<input type="submit" name="submit" value="Opdater">

<?php

if($_POST['op'] == 'ds'){

include('include.php');
mysql_select_db($database, $db);

mysql_query("UPDATE config SET antal_news='$_POST[antal]'") or die ("Af en eller anden årsag blev der ikke opdateret");

echo 'Antallet af viste nyher er opdateret til: '.$_POST['antal'];

}
?>
Avatar billede avminarm Juniormester
29. august 2003 - 09:43 #16
hov der mangler en </form> lige efter opdateringsknappen
Avatar billede kappel Nybegynder
29. august 2003 - 09:46 #17
hvorfor kan det ikke stå i include.php?

Besøgende må gerne have mulighed for at angive hvor mange de vil se.
Avatar billede avminarm Juniormester
29. august 2003 - 09:58 #18
ok - det havde du ikke nævnt - at hver enkelt besøgende skulle kunne ændre dette - dette ville jeg gøre ved at lade brugeren sætte en cookie
Avatar billede kappel Nybegynder
29. august 2003 - 10:01 #19
Nej det er måske åndsvagt.

Det er kun mig der må ændre det, kan jeg kalde siden for f.eks. admin.php?
Avatar billede kappel Nybegynder
29. august 2003 - 10:11 #20
Jeg har fået det til at virke, Tak for det.

Kan du hjælpe mig med dette?
Samt give de besøgende mulighed for at søge i alle nyhederne?
Avatar billede avminarm Juniormester
29. august 2003 - 10:18 #21
du kan sagtens kalde siden fra admin.php - bare lav et alm link.

med hensyn til søgningen kan du finde massere af søge eksempler her på exp.
Avatar billede kappel Nybegynder
04. september 2003 - 17:14 #22
Hvad betyder HTTP_REFERER?
Avatar billede kappel Nybegynder
04. september 2003 - 17:16 #23
Det er dette stykke kode:

if($submit)
{
    $season = $_POST['season'];

    //New value for session variable
    $_SESSION['defaultseasonid'] = $season;

    header("Location: $HTTP_REFERER");

Der volder problmer, der meldes om: SIDEN KUNNE IKKE FINDES!

Nogle der ved noget om det, det er i forbindelse med "plLeagueStats"
Avatar billede avminarm Juniormester
05. september 2003 - 08:01 #24
den skal nok hedde: $_SERVER['HTTP_REFERER'] og den indeholder navnet på siden man lige kom fra - dvs man bliver sendt retur til den side man var på inden man submittede
Avatar billede kappel Nybegynder
05. september 2003 - 11:06 #25
Der står det her defineret længere oppe:

$HTTP_REFERER = $_SERVER['HTTP_REFERER'];
Avatar billede avminarm Juniormester
05. september 2003 - 12:01 #26
Der kan være problemer med HTTP_R.... - skriv istedet for det filnavn der skal redirectes til.

HTTP_REFERER
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.
Avatar billede kappel Nybegynder
05. september 2003 - 18:21 #27
Hvordan skiver man filnavnet istedet?

Er det bare header("Location: $filnavn");

eller hvad?
Avatar billede exp Juniormester
05. september 2003 - 18:31 #28
$filnavn = 'send_til_side.php';

header(location: ".$filnavn);

Husk du ikke må have noget output inden...
Avatar billede kappel Nybegynder
09. september 2003 - 19:08 #29
Er der slet ikke andre muligheder for sende tilbage til der hvor Brugeren kommer fra?

Jeg har nemlig det problem at HTTP_REFERER bliver sat i 1 fil, men henviser til flere forskellige -> at der somme steder henvises til den forkerte fil.
Avatar billede avminarm Juniormester
10. september 2003 - 09:27 #30
jeg kender ingen funktion ud over denne i PHP, men ved ikke om man kan gøre det i javascript?
Avatar billede kappel Nybegynder
07. april 2005 - 14:14 #31
Hej

kan man lave det sådan at man efter de første 6 viste nyheder, skriver næste 6 som så vises på en anden side?

Mvh. Mikkel
Avatar billede avminarm Juniormester
07. april 2005 - 21:59 #32
jo - du kan måske bruge dette pager script det er ret æet at gå til:

http://www.script.dk/sourcecode.jsp?resourceId=1142
Avatar billede kappel Nybegynder
07. april 2005 - 22:03 #33
det kigger jeg, tak for det :)
Avatar billede kappel Nybegynder
07. april 2005 - 23:08 #34
skal jeg ændre mit nuværende eller skal jeg bruge pager scriptet - synes det ser lidt uoverskueligt ud?
Avatar billede kappel Nybegynder
07. april 2005 - 23:59 #35
jeg har brugt det du foreslog og tilføjet lidt fra det gamle og nu virker det, det er sgu for fedt og ja det var også nemt.

Eneste problem jeg har nu er at datoen skrives som Thursday og det kan jeg ikke lige forstå.

her er siden: http://super6.kappels.net

koden er her:
<?php

//forbinnd til databasen via config.php
include "config_news.php";
include "class.kwpager.php";
include "tagster_lib.php";

$p = new KwPager;

$p -> pr_side(8);

$limit = $p -> limit();
  $result = mysql_query("select * from news order by id desc limit ".$limit."");
  while($row = mysql_fetch_array($result)){
    echo "<p><b>".stripslashes(trim(nl2br($row
        ['overskrift'])))."</b> - skrevet ".strftime('%A den %d. %B %G' ,$row
        ['dato'])."<br>"."<br>".tagster_format(stripslashes(trim($row
        ['text'])))."<hr>"."</p>";
}

$pager = $p -> Pager("id","news");
echo $pager;
?>


Endnu engang mange tak for linket :)
Avatar billede avminarm Juniormester
08. april 2005 - 10:22 #36
jeg bruger sjældent strftime, men det er fordi PHP køere engelsk sproget - jeg plejer lave et array med alle de danske ugenavne (og månedsnavne - hvis det er de skrevne måneder) og så bruger jeg date() til at finde hvad nr. ugedagen har (husk 0 er søndag) og herefter benytter jeg mit ugedags array.

f,eks.
$ugedage = array("sønsag", "mandag", "tirsdag"......"lørdag");
$dagsnr = date("w");

echo $ugedage[$dagsnr]; //udskriver ugedagen på dansk

hjælper det?
Avatar billede avminarm Juniormester
08. april 2005 - 10:25 #37
måske kan du benytte setlocale:

http://dk.php.net/manual/da/function.setlocale.php

hvis du vil beholde strftime
Avatar billede kappel Nybegynder
08. april 2005 - 11:03 #38
før så det således ud, men den melder fejl når jeg prøver at bruge setlocale:

<?php
    include('include.php');
    include('tagster_lib.php');
    mysql_select_db($database, $db);

    $res = mysql_query("select overskrift, dato, text from news where status = '1' order by id desc limit ".$numofposts); setlocale (LC_TIME, 'danish');
  while($data = mysql_fetch_array($res)){
    echo "<p><b>".stripslashes(trim(nl2br($data
        ['overskrift'])))."</b> - skrevet ".strftime('%A den %d. %B %G' ,$data
        ['dato'])."<br>"."<br>".tagster_format(stripslashes(trim($data
        ['text'])))."<hr>"."</p>";
}
mysql_close();
?>
Avatar billede avminarm Juniormester
08. april 2005 - 11:31 #39
prøv med setlocale øverst i scriptet - der er vist noget figumdik med setlocale hvis du kører med windows
Avatar billede avminarm Juniormester
08. april 2005 - 11:33 #40
OBS setlocale kan ikke køre i safemode ;o( ellers tror jeg det er: setlocale (LC_ALL, 'da_DK');
Avatar billede kappel Nybegynder
08. april 2005 - 15:33 #41
hvordan skal det så se ud samlet?
Avatar billede avminarm Juniormester
09. april 2005 - 20:51 #42
et gæt:
<?php
    setlocale (LC_ALL, 'da_DK');
    include('include.php');
    include('tagster_lib.php');
    mysql_select_db($database, $db);

    $res = mysql_query("select overskrift, dato, text from news where status = '1' order by id desc limit ".$numofposts);
  while($data = mysql_fetch_array($res)){
    echo "<p><b>".stripslashes(trim(nl2br($data
        ['overskrift'])))."</b> - skrevet ".strftime('%A den %d. %B %G' ,$data
        ['dato'])."<br>"."<br>".tagster_format(stripslashes(trim($data
        ['text'])))."<hr>"."</p>";
}
mysql_close();
?>
Avatar billede avminarm Juniormester
11. april 2005 - 20:27 #43
virkede det? Du har måske ikke haft tid til at se på pga fodbold igår ;o)
Avatar billede kappel Nybegynder
17. april 2005 - 11:12 #44
det er rigtigt og den sidste uge har jeg været i london, men jeg ser på det senere idag ;o)
Avatar billede kappel Nybegynder
18. april 2005 - 17:12 #45
det hjalp, mange tak for det, du er sgu en guttermand :)
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