Avatar billede nh92 Nybegynder
01. februar 2009 - 00:36 Der er 9 kommentarer og
1 løsning

Læs mere ved blogindlæg

Hej eksperter. Så har jeg endnu et spørgsmål. Denne gang skal jeg have lavet en lille Læs mere funktion. Jeg har lavet følgende kode for mit blog indlæg:

<?php
$result = mysql_query("select * from traener order by ID DESC");
while($row = mysql_fetch_array($result)) {
?>

<h3><?=$row[overskrift]?></h3>
<br />
<?php
$text = $row["tekst"];
$start = 0; //Hvor skal vi starte ? 0 = første tegn, 1 = andet tegn osv...
$length = 150; //Længde af den ønskede streng.
echo substr  ($text,$start,$length);
?><br /><br />
<?=$row[dato]?>
     
            </div>
<?php
}
?>

Også efter min echo substr  ($text,$start,$length); , vil jeg gerne lave et lille link til en læs mere funktion. Hvordan kan jeg gøre det?
Avatar billede psychopixi Nybegynder
01. februar 2009 - 01:08 #1
Du kunne jo lave et link med:
echo "<a href=\"[[din side]]?id=\"" . $row['id'] . "\">Læs mere</a>";

og så kalde hele bloginlægget med $_GET['id'] på den side du linker til.
Avatar billede nh92 Nybegynder
01. februar 2009 - 01:54 #2
Altså ved at lave sådan en her:

              <?
$result = mysql_query("select * from nyheder where id = $_GET[id]");
$row = mysql_fetch_array($result);
?>

<h3><?=$row[overskrift]?></h3>
<br />
<?=$row[tekst]?>
<br /><br />
 
<?=$row[dato]?>

Men det virker i hvert fald ikke?
Avatar billede psychopixi Nybegynder
01. februar 2009 - 02:04 #3
Ja noget i den stil - men husk altid at validere bruger input:)

Jeg ligger mærke til at du ikke bruger samme database table i de to eksempler?
Avatar billede nh92 Nybegynder
01. februar 2009 - 02:08 #4
Ja det er min fejl. Har opdaget lidt. Men har lavet den sådan her:

<?php
$blog = mysql_query("select * from traener order by ID DESC");
while($rowblog = mysql_fetch_array($blog)) {
?>

<a href="laes-mere-blog.php?id=<?=$rowblog[id]?>">Læs mere</a>
           
<?php
}
?>

Men kan man i stedet for at sige orden by ID DESC, så sige sådan at den kun skal order den nyeste. Så det er den nye der bliver lagt ind på forsiden, i stedet for at de kommer i en række?
Avatar billede psychopixi Nybegynder
01. februar 2009 - 02:17 #5
jo da:)
Kan gøres på flere måder - men det letteste er næsten bare at gøre:
<?php
$result = mysql_query("select * from traener order by id DESC");
while($row = mysql_fetch_array($result)) {
?>

<h3><?=$row[overskrift]?></h3>
<br />
<?php
$text = $row["tekst"];
$start = 0; //Hvor skal vi starte ? 0 = første tegn, 1 = andet tegn osv...
$length = 150; //Længde af den ønskede streng.
echo substr  ($text,$start,$length);
?><br /><br />
<?=$row[dato]?>
   
            </div>
<?php
break;
}
?>
Avatar billede psychopixi Nybegynder
01. februar 2009 - 02:21 #6
hov - jeg var lige lidt for hurtig:

<?php
$result = mysql_query("select * from traener order by id DESC");
while($row = mysql_fetch_array($result)) {
?>

<h3><?=$row[overskrift]?></h3>
<br />
<?php
echo $row["tekst"];
?><br /><br />
<?=$row[dato]?>
   
            </div>
<?php
}
?>
Avatar billede psychopixi Nybegynder
01. februar 2009 - 02:24 #7
my god! og så igen:) der burde være en "edit" knap:)

du skal lige huske:
break;

i bunden.
Avatar billede olebole Juniormester
01. februar 2009 - 15:44 #8
<ole>

Lav et ekstra felt i indskrivnings interfacet, så du kan sætte et nøgleord eller to i link-teksten - i stedet for bare 'Læs mere', som jo ikke fortæller en søgemaskine noget om, hvad der gemmer sig bag linket  ;o)

/mvh
</bole>
Avatar billede nh92 Nybegynder
04. februar 2009 - 13:06 #9
Tak for hjælpen psychopixi. Det virker ! Bare smid et svar :)
Avatar billede psychopixi Nybegynder
04. februar 2009 - 13:11 #10
Ok:)
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