/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Nyheds system
Fra : Stig Sørensen


Dato : 21-09-03 00:54

Hejsa.

Lige nu har jeg følgende for at vise nyheder:

En database med nyhederne, en side hvor de bliver kaldt frem. - Enkelt nok
:)
Kan ses her: http://mobil.dontdoit.dk/nyheder.php

Database tabellen ser sådan ud:

CREATE TABLE mobil_nyheder (
id mediumint(9) NOT NULL default '0',
overskrift text,
indhold text,
skrevet text,
PRIMARY KEY (id)
) TYPE=MyISAM;

Nu synes jeg det er på tide at udvide det lidt.
Jeg vil have følgende:

Nyhederne vises på samme måde som nu, men hvis en nyhed er lang skal der kun
vises lidt af nyheden, så et link der fører videre til hele nyheden. Ses
typisk på mange portaler bla. Jubii http://www.jubii.dk/ .

Er det nok det som jeg har i min tabel? Eller skal den udvides?

Nogen der vil forklarer lidt, hvordan og hvorledes det kunne laves, jeg har
desværre ingen ideer.
Ikke så det forbliver nemt i hvert fald

På forhånd tak.

Mvh
Stig Sørensen
--
Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



 
 
Jesper Brunholm (21-09-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 21-09-03 05:59

Stig Sørensen wrote:
> Kan ses her: http://mobil.dontdoit.dk/nyheder.php
>
> CREATE TABLE mobil_nyheder (
> id mediumint(9) NOT NULL default '0',
> overskrift text,
> indhold text,
> skrevet text,
> PRIMARY KEY (id)
> ) TYPE=MyISAM;
>
> Nu synes jeg det er på tide at udvide det lidt.
> Jeg vil have følgende:
>
> Nyhederne vises på samme måde som nu, men hvis en nyhed er lang skal der kun
> vises lidt af nyheden, så et link der fører videre til hele nyheden. Ses
> typisk på mange portaler bla. Jubii http://www.jubii.dk/ .

Så laver du en side der hedder langenyheder.php (ell lign.) som tager id
som parameter (husk at sætte en default hvis der ikke er noget med).
Her kan du liste alle nyheder med dato og den korte version vi kender
fra forsiden, og den aktuelle nyhed (den valgte) i fuld længde, det kan
du snildt med et udtræk fra samme tabel som hidtil.

på den nuværende side kører du 'nyhedsskrivningen' igennem et script som
checker hvor lang teksten for en nyhed er (str_len()), og klipper af
(substr()) og linker til den anden side hvis nyheden er for lang.

Prøv det, og vend tilbage når du går i stå

Jeg kunne i øvrigt godt tænke mig at din topmenu (
Forside - Nyheder - Gratis SMS - Gratis Unlock - Mobil Sjov - OSS - Kontakt
)
var kontekst-sensitiv, så den ikke linker til den side man står på,
kunne du også det?


mvh

Jesper Brunholm


Stig Sørensen (21-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 21-09-03 09:39


"Jesper Brunholm" <nospam@brunholm-scharff.dk> wrote in message
news:bkjb44$jmj$1@sunsite.dk...

> Så laver du en side der hedder langenyheder.php (ell lign.) som tager id
> som parameter (husk at sætte en default hvis der ikke er noget med).
> Her kan du liste alle nyheder med dato og den korte version vi kender
> fra forsiden, og den aktuelle nyhed (den valgte) i fuld længde, det kan
> du snildt med et udtræk fra samme tabel som hidtil.
>
> på den nuværende side kører du 'nyhedsskrivningen' igennem et script som
> checker hvor lang teksten for en nyhed er (str_len()), og klipper af
> (substr()) og linker til den anden side hvis nyheden er for lang.

Jeg kunne godt tænke mig, at selv bestemme hvorhenne jeg skal cutte i
tesksten, hvis det giver nogen mening
Altså; Skrive nyheden 2 gange i database tabellen, en kort som bliver vist
og så en lang der skal vise det hele.

> Prøv det, og vend tilbage når du går i stå

Ok tak for det. Men hvad med linket? Når jeg skriver en nyhed kunne jeg godt
tænke mig at den selv paster linket, altså selv tager id'et og ligger det i
linket.
Hvis vi siger at langenyheder.php hedder visnyhed.php så bliver det vil
noget ligende: visnyhed.php=12 - Tallet (12) vil jeg have at den selv tager
fra databasen.
Det må gøre det hele nemmere, hvis en gammel nyhed pludselig skal slettes,
ellers skal jeg manuelt selv rette id nummere i alle linksene.

> Jeg kunne i øvrigt godt tænke mig at din topmenu (
> Forside - Nyheder - Gratis SMS - Gratis Unlock - Mobil Sjov - OSS -
Kontakt
> )
> var kontekst-sensitiv, så den ikke linker til den side man står på,
> kunne du også det?

Jeg er igang med et nyt design med et venstre stillet menu, der ville det
nok ikke se så godt ud, hvis nogle menu punkter forsvandt lige pludseligt.
Men jeg vil meget gerne vide hvordan

Tusind tak for din hjælp Jesper
Mvh
Stig Sørensen
--
Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Jesper Brunholm (21-09-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 21-09-03 10:44

Stig Sørensen wrote:
> Jeg kunne godt tænke mig, at selv bestemme hvorhenne jeg skal cutte i
> tesksten, hvis det giver nogen mening
> Altså; Skrive nyheden 2 gange i database tabellen, en kort som bliver vist
> og så en lang der skal vise det hele.

Det kan du sagtens - og så i stedet for at checke på længden kan du bare
checke på om der er noget indhold i feltet med lang tekst, hvis ikke der
er er teksten kort nok til bare at blive vist, hvis der er noget i
sættes der et link ind med nyhedens id som parameter

> Ok tak for det. Men hvad med linket? Når jeg skriver en nyhed kunne jeg godt
> tænke mig at den selv paster linket, altså selv tager id'et og ligger det i
> linket.

selvfølgelig - det skaæ være en del af det if-system du laver

> Hvis vi siger at langenyheder.php hedder visnyhed.php så bliver det vil
> noget ligende: visnyhed.php=12 - Tallet (12) vil jeg have at den selv tager
> fra databasen.
> Det må gøre det hele nemmere, hvis en gammel nyhed pludselig skal slettes,
> ellers skal jeg manuelt selv rette id nummere i alle linksene.

Når du lader begge sider trække på databasen så kan du bare slette den
gamle nyhed i databasen, så vises den ikke nogen steder og der er ingen
døde referencer. At nyhederne ikke nødvendigvis har fortløbende id skal
du 'springe op og falde ned på' - det er underordnet.

Du er nødt til at sørge for at systemet kan håndtere det hvis nogen
tilgår siden med et id som ikke (længere) eksisterer, men det skulle nu
også være let nok i det system jeg har skitseret.

>>Jeg kunne i øvrigt godt tænke mig at din topmenu (
>>Forside - Nyheder - Gratis SMS - Gratis Unlock - Mobil Sjov - OSS -
>
> Kontakt
>
>>)
>>var kontekst-sensitiv, så den ikke linker til den side man står på,
>>kunne du også det?

> Jeg er igang med et nyt design med et venstre stillet menu, der ville det
> nok ikke se så godt ud, hvis nogle menu punkter forsvandt lige pludseligt.

Jeg synes skam heller ikke det aktuelle menupunkt skal forsvinde, jeg
synes bare det skal holde op med at være et link.

Det er ikke spor uoverkommeligt. Du lægger dine menupunkter i et array
hvor urlen er key til menuteksten:

$menupunkter=array(
"index.php" => "Forside",
"nyheder.php" => "Nyheder",
"sms.php" => "Gratis SMS",
"unlock.php" => "Gratis Unlock",
"mobilsjov.php" => "Mobil Sjov",
"oss.php" => "OSS",
"kontakt.php" => "Kontakt",
);

når du så på siden skal lave menuen, kører du igennem som følger:

$aktuelfil=basename($_SERVER['PHP_SELF']);

$i=0;
$mellRumsTegn=' - ';

foreach($menupunkter as $key => $content){
if($i==0){ /* Der skal ikke mellemrumstegn før teksten første gang
Du skal nok ikke bruge det her ved en søjlemenu - så bare slet det. */
$i++;
}else{
echo $mellRumsTegn;
}

if($key==$aktuelfil){ /* skriv menupunktet uden link */
echo $content;
}else{ /* ikke-aktuelle sider skal der linkes til */
echo '<a href="'.$key.'">'.$content.'</a>
'; /* linieskift fordi det giver linieskift i koden */
}

}

Det er utestet, men det burde virke hvis jeg ikke har slåfejl på

mvh

Jesper Brunholm


Stig Sørensen (21-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 21-09-03 11:38


"Jesper Brunholm" <nospam@brunholm-scharff.dk> wrote in message
news:bkjrro$i8o$1@sunsite.dk...
> Stig Sørensen wrote:
> > Jeg kunne godt tænke mig, at selv bestemme hvorhenne jeg skal cutte i
> > tesksten, hvis det giver nogen mening
> > Altså; Skrive nyheden 2 gange i database tabellen, en kort som bliver
vist
> > og så en lang der skal vise det hele.
(snip)

Hej igen Jesper. Tusind tak for din tid og din hjælp.

Håber du lige vil sætte mig igang, jeg ved stadig ikke helt hvad jeg skal
helt konkret.
Hvis du bare vil lige sætte mig igang så skal jeg nok kunne overskue det -
håber jeg i hvert fald

Mvh
Stig Sørensen
--
Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Johan Holst Nielsen (21-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 21-09-03 11:48

Stig Sørensen wrote:

> "Jesper Brunholm" <nospam@brunholm-scharff.dk> wrote in message
> news:bkjrro$i8o$1@sunsite.dk...
>
>>Stig Sørensen wrote:
>>
>>>Jeg kunne godt tænke mig, at selv bestemme hvorhenne jeg skal cutte i
>>>tesksten, hvis det giver nogen mening
>>>Altså; Skrive nyheden 2 gange i database tabellen, en kort som bliver
>
> vist
>
>>>og så en lang der skal vise det hele.
>
> (snip)
>
> Hej igen Jesper. Tusind tak for din tid og din hjælp.
>
> Håber du lige vil sætte mig igang, jeg ved stadig ikke helt hvad jeg skal
> helt konkret.
> Hvis du bare vil lige sætte mig igang så skal jeg nok kunne overskue det -
> håber jeg i hvert fald

CREATE TABLE mobil_nyheder (
id mediumint(9) NOT NULL default '0',
overskrift text,
resume text,
indhold text,
skrevet text,
PRIMARY KEY (id)
) TYPE=MyISAM;


Så er der tilføjet et ekstra felt som hedder resume...

Så laver du din nyhedssite..

<?php
$conn = mysql_connect("","","");
mysql_select_db("database",$conn);

$query = "SELECT overskrift,resume,id FROM mobil_nyheder ORDER BY id DESC";
$result = mysql_query($query);
if(mysql_num_rows($result)>0) {
while($row = mysql_fetch_row($result)) {
echo "<h3>".$row[0]."</h3>";
echo $row[1]."<br>";
echo "<a href='./shownews.php?id=".$row[2]."'>Læs mere her...</a>";
}
}
else {
echo "Ingen nyheder pt.";
}
?>


Så lver du f.eks. shownews.php

<?php
if(!empty($_GET['id'])) {
$conn = mysql_connect("","","");
mysql_select_db("database",$conn);

$query = "SELECT overskrift, indhold, skrevet FROM mobil_nyheder
WHERE id = '".$_GET['id']."'";
$result = mysql_query($query);
if(mysql_num_rows($result)>0) {
$row = mysql_fetch_row($result);
echo "<h3>".$row[0]."</h3>";
echo $row[1]."<br>";
echo "Skrevet: ".$row[2];
}
else {
echo "Nyheden findes ikke!;
}
}
else {
echo "Nyheden findes ikke!";
}
?>


Er ikke testet eller noget :) Men prøv at lege med ovenstående :)

mvh
Johan


Stig Sørensen (21-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 21-09-03 12:13


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bkjvkq$2gm$1@sunsite.dk...
> Stig Sørensen wrote:
(snip - kode)

> Er ikke testet eller noget :) Men prøv at lege med ovenstående :)

Supér! Så fik jeg det endda serveret på et sølvfad
Det virker jo, bortset ligefra at der er en fejl ved echo - Nyheden findes
ikke! - delen, det skal jeg nok selv finde ud af.

Utrolig, at du bare kan kode sådan noget i hovedet, det misunder jeg godt
nok.
Har brugt mange timer på webcafe med deres artikler, men kan stadig ikke
lave et simpelt script. Håber det kommer :)

Igen, tusind tak Johan, du er altid hjælpsom.
Også stor tak til Jesper, nu ved jeg hvordan jeg skal tænke næste gang der
skal udvides :)

> mvh
> Johan

Mvh
Stig Sørensen
--
Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Stig Sørensen (21-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 21-09-03 13:01

(fortsætter lige i min tråd)

Jeg har et inkluderingscript på min side:

<?php
switch ($_GET['site'])

{
case 'shownews': include('shownews.php');
break;
default: include('nyheder.php');
}
?>

Hvor linksene skal være: 'index.php?site=shownews
Men i det nyhedssystem som Johan lige har lavet er linket:
'index.php?site=shownews.php?id=".$row[2]."'

Går det galt ved det andet ?-tegn?
Jeg har også prøvet uden .php som det skal gøres. Heller ingen effekt.

Hvordan kan det kombineres? Har vendt det rundt 120 gange nu, ingen
virkning.

Mvh
Stig Sørensen
--
Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Stig Sørensen (21-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 21-09-03 13:05


"Stig Sørensen" <nomail@nomail.invalid> wrote in message
news:xpgbb.718$0R4.585@news.get2net.dk...
> (fortsætter lige i min tråd)
>
> Jeg har et inkluderingscript på min side:

Hvis det kan hjælpe kan I se siden her: http://test.dontdoit.dk

Jeg prøver fortsat, men ingen løsning endnu.

Mvh
Stig Sørensen



Johan Holst Nielsen (21-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 21-09-03 13:05

Stig Sørensen wrote:

> (fortsætter lige i min tråd)
>
> Jeg har et inkluderingscript på min side:
>
> <?php
> switch ($_GET['site'])
>
> {
> case 'shownews': include('shownews.php');
> break;
> default: include('nyheder.php');
> }
> ?>
>
> Hvor linksene skal være: 'index.php?site=shownews
> Men i det nyhedssystem som Johan lige har lavet er linket:
> 'index.php?site=shownews.php?id=".$row[2]."'
>
> Går det galt ved det andet ?-tegn?
> Jeg har også prøvet uden .php som det skal gøres. Heller ingen effekt.
>
> Hvordan kan det kombineres? Har vendt det rundt 120 gange nu, ingen
> virkning.

Du skal sbrige

'index.php?site=shownews.php&id=".$row[2].';

Det er altid kun ved adskildelsen fra URL til Variablerne du skal bruge
? og & mellem variablerne (i visse tilfælde &amp; hvis den skal valideres)

mvh
Johan


Stig Sørensen (21-09-2003)
Kommentar
Fra : Stig Sørensen


Dato : 21-09-03 13:13


"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:bkk464$hil$1@sunsite.dk...
> Du skal bruge
>
> 'index.php?site=shownews.php&id=".$row[2].';
>
> Det er altid kun ved adskildelsen fra URL til Variablerne du skal bruge
> ? og & mellem variablerne (i visse tilfælde &amp; hvis den skal valideres)

Super igen.

'index.php?site=shownews&amp;id=".$row[2]."' virker.

Det skal selvfølgelig validere
tak tak tak, og fortsat god søndag Johan.

Mvh
Stig Sørensen
--
Gratis sms - Gratis Java spil - Gratis unlock
-- > http://Mobil.DontDoIt.dk < --



Johan Holst Nielsen (21-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 21-09-03 13:17

Stig Sørensen wrote:
> "Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
> news:bkk464$hil$1@sunsite.dk...
>
>>Det er altid kun ved adskildelsen fra URL til Variablerne du skal bruge
>>? og & mellem variablerne (i visse tilfælde &amp; hvis den skal valideres)
>
> Super igen.
>
> 'index.php?site=shownews&amp;id=".$row[2]."' virker.
>
> Det skal selvfølgelig validere
> tak tak tak, og fortsat god søndag Johan.

I lige meget :) På trods af vejret og arbejdsbyrden skal man jo være
positiv :D

mvh
Johan


Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408534
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste