Avatar billede seb11 Nybegynder
02. oktober 2005 - 16:28 Der er 9 kommentarer og
1 løsning

spørgsmål omkring nyheds system

Dav, jeg har lavet et meget simpelt nyheds system.

http://fodboldnews.1go.dk/phpside/skrivnyheder.htm < skriv nyhed.
http://fodboldnews.1go.dk/phpside/testforside.php < se nyhederne.

her er alle koderne til mit system.

---------------------
Kode skrivnyheder:
---------------------
<form action="nyheder.php" method="post">
Indtast dato: <input type="text" name="dato"><br><br>
Indtast forfatter: <input type="text" name="forfatter"><br><br>
Indtast overskrft: <input type="text" name="overskrift"><br><br>
Indtast nyhed: <input type="text" name="nyhed"><br><br>
<input type="submit" name="submitKnap" value="Send din nyhed">
</form>

---------------------
Kode nyhder.php
---------------------
<?
if (isset($_POST["submitKnap"]))
{
    $conn = mysql_connect("...", "...", "...") or die(mysql_error());
    mysql_select_db("...") or die(mysql_error());

    $sql = "INSERT INTO Nyheder (dato, forfatter, overskrift, nyhed) VALUES ('" . $_POST["dato"] . "', '" . $_POST["forfatter"] . "', '" . $_POST["overskrift"] . "', '" . $_POST["nyhed"] . "')";
    mysql_query($sql) or die(mysql_error());
}
?>

---------------------
Kode testforside
---------------------
<table border="1" cellpadding="0" cellspacing="0">

<tr>
        <td BGCOLOR="gray"><b><font size="+4"><font face="Arial"><font color="#FFFFFF">Fodboldnews</font></font></font></b></td>
</tr>
<tr>
        <td><font face="Arial"><font size="-1"><p align="center">Forside - Nyheder - Artikler - Info</p></font></font></td>
</tr>
<tr>
        <td><?php
    $conn = mysql_connect("...", "...", "...") or die(mysql_error());
    mysql_select_db("...") or die(mysql_error());

$resultat = mysql_query("select * from Nyheder");

while ($raekke = mysql_fetch_array($resultat)) {
  echo " <table cellspacing='0' cellpadding='1' width='320' bgcolor='#ffffff' border='0'><tr><td style='font-size: 20px;'>".$raekke['overskrift'].
        "<tr><td style='font-size: 14px;'>".$raekke['dato'].
        " - ".$raekke['forfatter'].
        "<tr><td style='font-size: 16px;'>".$raekke['nyhed'].
        "<tr><td><br />";
}

?></td>
</tr>
</table>

----------------------------------------------------------

Mine spørgsmål lyder således:
1. - Hvordan er det muligt at lave en "læs mere" funktion til nyheds systemet. Altså at den på forsiden evt. viser 50 af de første ord og så kan man trykke læs mere. Og så kommer man ind på en helt ny side med hele nyheden.

2. - Hvordan er det muligt at kun vise de første 5 nyheder på forsiden.


På forhånd tak.
Avatar billede jaw Nybegynder
02. oktober 2005 - 17:21 #1
SELECT emne, forfatter, CONCAT(LEFT(tekstfelt,50),'...') as tekst FROM nyhedstabel` ORDER BY id DESC

Så udskriver du bare tekst, så indeholder den de første 50 tegn af tekstfeltet.
Avatar billede seb11 Nybegynder
02. oktober 2005 - 17:26 #2
okay, hvordan er det så muligt at få en læs mere link. og komme ind på en seperat side med hele nyheden?
Avatar billede jaw Nybegynder
02. oktober 2005 - 17:27 #3
Så laver du f.eks. emnet til et link:
echo "<a href='vis_nyhed.php?id=".$row['id']."'>".$row['emne']."</a>";

og så opretter du vis_nyhed.php med en forespørgsel som denne:
SELECT * FROM nyhedstabel WHERE id = ".$_GET['id']."
Avatar billede seb11 Nybegynder
02. oktober 2005 - 17:36 #4
Vil du ikke lave hele koden der skal bruges. Altså erstatte min kode med det der skal til for at lave det du siger.

Det ville være kanon!
Avatar billede jaw Nybegynder
02. oktober 2005 - 17:41 #5
Ok, din testforside.php:

<table border="1" cellpadding="0" cellspacing="0">

<tr>
        <td BGCOLOR="gray"><b><font size="+4"><font face="Arial"><font color="#FFFFFF">Fodboldnews</font></font></font></b></td>
</tr>
<tr>
        <td><font face="Arial"><font size="-1"><p align="center">Forside - Nyheder - Artikler - Info</p></font></font></td>
</tr>
<tr>
        <td><?php
    $conn = mysql_connect("...", "...", "...") or die(mysql_error());
    mysql_select_db("...") or die(mysql_error());

$resultat = mysql_query("select *, CONCAT(LEFT(nyhed,50),'...') as tekst from Nyheder");

while ($raekke = mysql_fetch_array($resultat)) {
  echo " <table cellspacing='0' cellpadding='1' width='320' bgcolor='#ffffff' border='0'>
              <tr><td style='font-size: 20px;'>".$raekke['overskrift'].
        "<tr><td style='font-size: 14px;'>".$raekke['dato'].
        " - ".$raekke['forfatter'].
        "<tr><td style='font-size: 16px;'>".$raekke['tekst'].
        "<tr><td><a href='vis_nyhed.php?id=".$raekke['id']."'>L&aelig;s mere</a><br />";
}

?></td>
</tr>
</table>

(Og der er da vist noget rod i din tabel, er der ikke?!)

Og vis_nyhed.php som jeg har kaldt den:
<table border="1" cellpadding="0" cellspacing="0">

<tr>
        <td BGCOLOR="gray"><b><font size="+4"><font face="Arial"><font color="#FFFFFF">Fodboldnews</font></font></font></b></td>
</tr>
<tr>
        <td><font face="Arial"><font size="-1"><p align="center">Forside - Nyheder - Artikler - Info</p></font></font></td>
</tr>
<tr>
        <td><?php
    $conn = mysql_connect("...", "...", "...") or die(mysql_error());
    mysql_select_db("...") or die(mysql_error());

$resultat = mysql_query("select * from Nyheder WHERE id = ".$_GET['id']);

while ($raekke = mysql_fetch_array($resultat)) {
  echo " <table cellspacing='0' cellpadding='1' width='320' bgcolor='#ffffff' border='0'>
              <tr><td style='font-size: 20px;'>".$raekke['overskrift'].
        "<tr><td style='font-size: 14px;'>".$raekke['dato'].
        " - ".$raekke['forfatter'].
        "<tr><td style='font-size: 16px;'>".$raekke['nyhed'].
        "<tr><td><a href='vis_nyhed.php?id=".$raekke['id']."'>L&aelig;s mere</a><br />";
}

?></td>
</tr>
</table>
Avatar billede seb11 Nybegynder
02. oktober 2005 - 17:45 #6
Okay jeg vil lige prøve. Skriver når jeg ahr prøvet at lave det
Avatar billede seb11 Nybegynder
02. oktober 2005 - 18:05 #7
Det virker perkekt. > http://fodboldnews.1go.dk/phpside/testforside.php :)

Jeg har lige et sidste spørgsmål. Er det muligt at få ID nummeret til at opdatere automatisk npr man opretter en nyhed. Lige nu skriver jeg nemlig nummeret selv.
Avatar billede jaw Nybegynder
02. oktober 2005 - 18:07 #8
Det var godt :)

Og ja, det er muligt. Hvis du i phpMyAdmin f.eks. (der er det nemmest) opdaterer dit id-felt så det har auto-increcement så vil den automatisk lægge til og så skal du blot undlade at udfylde det felt når du opretter en nyhed.

Og jeg tillader mig at kaste et svar :)
Avatar billede seb11 Nybegynder
02. oktober 2005 - 18:08 #9
Tak for hjælpen
Avatar billede jaw Nybegynder
02. oktober 2005 - 18:09 #10
Selv tak.
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