Avatar billede hent-det Nybegynder
26. maj 2006 - 19:59 Der er 13 kommentarer og
1 løsning

"læs mere" funktion

Hej folkens.

Jeg har lavet et lille "nyheds system". På min forside vil jeg gerne, kun vise "overskriften" af nyheden og så skal det være muligt at kunne trykke på overskriften og komme ind på en ny side, hvor HELE nyheden står.

Jeg poster lige min kode:
---------------------------------------------------------------
<?php
$conn = mysql_connect("localhost", "...", "...");
mysql_select_db("...") or die(mysql_error());

$resultat = mysql_query("Select * from news order by id DESC limit 3");

while ($raekke = mysql_fetch_array($resultat))
{
  echo "<table border=\"1\"><tr><td>Navn: ".$raekke['author']."<tr><td>Indledning: ".$raekke['synopsis']."</td><tr><td>Nyhed: ".$raekke['nyhed']."</td><tr><td><img src=\"".$raekke['image']."\"></td></tr></table><br />";

}

?>
---------------------------------------------------------------

For lige at opsumere:
Jeg vil kun vise OVERSKRIFTEN, og den skal man kunne trykke på, så man kommer ind på en ny side, hvor HELE nyheden kan ses.
Avatar billede jakobdo Ekspert
26. maj 2006 - 20:01 #1
Jeg ville starte med at trække id og overskrift ud af din tabel.
Printe dem ud, og så lave links ala: read_news.php?id=$raekker['id']
og så på siden read_news.php laver du den trækker nyheden ud med id = $_GET['id']
Evt kan du lave det hele i en om samme side/fil.
Avatar billede hent-det Nybegynder
26. maj 2006 - 20:12 #2
Nu har jeg lavet min kode om til

<?php
$conn = mysql_connect("localhost", "hent_det_dk", "FwQXFdPh");
mysql_select_db("hent_det_dk") or die(mysql_error());

$resultat = mysql_query("Select * from news order by id DESC limit 3");

while ($raekke = mysql_fetch_array($resultat))
{
  echo "<table border=\"1\"><tr><td>Overskrift ".$raekke['overskrift']."".read_news.php?id=$raekker['id']."</td></tr></table><br />";

}

?>


Er det rigtig til den første side?

Medhensyn til den anden side jeg skal lave "read_news.php" er jeg meget i tvivl om hvordan jeg skal gøre der.
Avatar billede hent-det Nybegynder
26. maj 2006 - 20:12 #3
Suk, glemte at censorer min kode. Er det muligt at redigere?
Avatar billede jakobdo Ekspert
26. maj 2006 - 20:16 #4
Desværre ikke! :o(
Derfor er det altid en god ide at lave:

<?php
//connect.php
$conn = mysql_connect("localhost", "hent_det_dk", "FwQXFdPh");
mysql_select_db("hent_det_dk") or die(mysql_error());
?>

gem filen som connect.php

og på dine sider laver du så:

<?php
require_once('connect.php');

$resultat = mysql_query("Select * from news order by id DESC limit 3");
....
?>

Så kan man ikke se koderne ved et uheld.
Avatar billede jakobdo Ekspert
26. maj 2006 - 20:16 #5
Har du et sted man kan se output?
Avatar billede hent-det Nybegynder
26. maj 2006 - 20:19 #6
Det var heldigvis muligt at ændre koden på b-one :)
Avatar billede hent-det Nybegynder
26. maj 2006 - 20:22 #7
Hvad mener du med output
Avatar billede jakobdo Ekspert
26. maj 2006 - 20:42 #8
Avatar billede hent-det Nybegynder
26. maj 2006 - 21:14 #9
http://www.hent-det.dk/php/test.php

---------------------------------------------------------
koden:

<?php
$conn = mysql_connect("localhost", "hent_det_dk", "...");
mysql_select_db("hent_det_dk") or die(mysql_error());

$resultat = mysql_query("Select * from news order by id DESC limit 3");

while ($raekke = mysql_fetch_array($resultat))
{
  echo "<table border=\"1\"><tr><td>Overskrift ".$raekke['overskrift']."<tr><td>Id: ".$raekke['id']."</td></tr></table><br />";

}

?>
Avatar billede jakobdo Ekspert
26. maj 2006 - 21:28 #10
Test lige denne kode:

<?php

$conn = mysql_connect("localhost", "hent_det_dk", "...");
mysql_select_db("hent_det_dk") or die(mysql_error());

if(is_numeric($_GET['id']) && $_GET['id'] > 0)
{
    $id = mysql_real_escape_string($_GET['id']);
    $resultat = mysql_query("Select * from news where id = $id limit 1");
    if(mysql_num_rows($resultat) == 1)
    {
        $raekke = mysql_fetch_array($resultat);

        echo '<table border="1">';
        echo '<tr>';
        echo '<td>Overskrift '.$raekke['overskrift'].'<tr>';
        echo '<td>Nyheden '.$raekke['nyheden'].'</td>';
        echo '</tr>';
        echo '</table>';
    }
}
else
{
    $resultat = mysql_query("Select * from news order by id DESC limit 3");
    if(mysql_num_rows($resultat) > 0)
    {
        echo '<table border="1">';
        while ($raekke = mysql_fetch_array($resultat))
        {
            echo '<tr>';
            echo '<td>Overskrift '.$raekke['overskrift'].'<tr>';
            echo '<td><a href="test.php?id='.$raekke['id'].'">Læs nyheden</a></td>';
            echo '</tr>';
        }
        echo '</table>';
    }
}

?>
Avatar billede hent-det Nybegynder
26. maj 2006 - 21:38 #11
Avatar billede jakobdo Ekspert
26. maj 2006 - 21:39 #12
Så skal du jo bare rette delen:
echo '<table border="1">';
echo '<tr>';
echo '<td>Overskrift '.$raekke['overskrift'].'<tr>';
echo '<td>Nyheden '.$raekke['nyheden'].'</td>';
echo '</tr>';
echo '</table>';

så den udskriver alle de ønskede data.

og et svar.
Avatar billede hent-det Nybegynder
26. maj 2006 - 21:44 #13
Takker :)
Avatar billede jakobdo Ekspert
26. maj 2006 - 21:47 #14
Jeg takker for point.
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