Avatar billede tlunde Nybegynder
18. april 2003 - 19:21 Der er 18 kommentarer og
1 løsning

Nyhedsmodul...

Hejsa...
Jeg har kigget lidt på at få lavet et nyhedsmodul, der arbejder udfra oplysninger i en database.

Jeg har fundet dette nyhedssystem:
www.hockeymania.dk

Hvordan lavet dette?? Man kan se at de nyhed der er synlig, ikke er mellem overskrifterne i bunden, og hvis man trykker på en ny nyhed, så kommer den frem foroven, og linket fjernes forneden...Hvordan laves dette??

\ThomasLunde.dk
Avatar billede schaefner Juniormester
18. april 2003 - 19:24 #1
Avatar billede schaefner Juniormester
18. april 2003 - 19:25 #2
Du laver bare en query der ser nogenlunde sådan her ud:

$id = $_GET['id'];
$query = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY dato DESC");

Så hiver den ikke den nyhed ud der har id'en der er valgt.
Avatar billede tlunde Nybegynder
18. april 2003 - 19:34 #3
Okay...det ser ok ud.
Kan du lave et lille eksempel til mig?? Hvis du har tid...så jeg lige kan se hvordan det fungere, og hvordan det skal sættes sammen det hele.
Avatar billede schaefner Juniormester
18. april 2003 - 19:35 #4
Hvis du f.eks. har en tabel kaldet nyheder med felterne id, titel og tekst, så kunne et lille eksempel se således ud:

<?php
$id = $_GET['id'];
$nyhed = mysql_query("SELECT * FROM nyheder WHERE id = $id");
$row = mysql_fetch_array($nyhed);
echo "$row[overskrift]<br><br>";
echo "$row[tekst]";
?>
<hr>
<?php
$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC");
while($row = mysql_fetch_array($liste)) {
    echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";
}
?>
Avatar billede schaefner Juniormester
18. april 2003 - 19:35 #5
while($row = mysql_fetch_array($liste)) {
skal lige være:
while($row = mysql_fetch_array($list)) {
Avatar billede tlunde Nybegynder
18. april 2003 - 19:36 #6
okay...jeg prøver lige senere engang at kigge på det, og så vender jeg lige tilbage til dig...Takker indtil videre.
Avatar billede benzon Praktikant
20. april 2003 - 20:08 #7
schaefner

Det er jo ikke helt sådan som det funker på den side det er forsiden og der er ikke angivet en id i urlen.

Tror det skal laves på en lidt anden måde

Du skal lave det som et udtræk for den tager nyeste nyhed eks via id nummeret på nyheden og så sætter du var $id = $row[id];

I stedet ellers er det jo fint nok efter hva jeg kan se :)
Avatar billede schaefner Juniormester
21. april 2003 - 01:43 #8
Prøv at læse tlunde's spm.
Avatar billede tlunde Nybegynder
21. juni 2003 - 10:32 #9
Så er sommerferien startet, og programmeringen kan tages op igen...

Schaefner: Ville du hjælpe mig, hvis du har tid?
Avatar billede tlunde Nybegynder
21. juni 2003 - 10:43 #10
Jeg har prøvet at sætte min kode op sådan her:
<?
include("../config.php");
?>
<?php
db_con();

$id = $_GET['id'];
$nyhed = mysql_query("SELECT * FROM nyheder WHERE id = $id");
$row = mysql_fetch_array($nyhed);
echo "$row[overskrift]<br><br>";
echo "$row[nyhed]";
?>
<hr>
<?php
db_con();

$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC");
while($row = mysql_fetch_array($list)) {
    echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";
}
?>

Men den melder fejl når det køres:
http://www.thomaslunde.dk/testing/news.php
Avatar billede schaefner Juniormester
21. juni 2003 - 11:17 #11
if (isset($_GET['id'])) {
  $sql = "SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC";
} else {
  $sql = "SELECT * FROM nyheder ORDER BY id DESC";
}

$list = mysql_query($sql);
Avatar billede tlunde Nybegynder
21. juni 2003 - 11:25 #12
Jeg har fået den til at virke til dels, men mangler at den viser den første nyhed, når man går ind på: http://www.thomaslunde.dk/testing/news.php

Min kode ser sådan ud nu:
<?
include("../config.php");
?>
<?php
db_con();

$id = $_GET['id'];
$nyhed = mysql_query("SELECT * FROM nyheder WHERE id = $id");
$row = mysql_fetch_array($nyhed);
echo "$row[overskrift]<br><br>";
echo "$row[nyhed]";
?>
<hr>
<?php
db_con();

if (!empty($id)) {
$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC");
} else {
$list = mysql_query("SELECT * FROM nyheder ORDER BY id DESC");
}

while($row = mysql_fetch_array($list)) {
    echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";
}
?>
Avatar billede schaefner Juniormester
21. juni 2003 - 11:34 #13
<?php
include('../config.php');
db_con();

$id = (isset($_GET['id'])) ? $_GET['id'] : 1;
$nyhed = mysql_query("SELECT * FROM nyheder WHERE id = $id");
$row = mysql_fetch_array($nyhed);
echo "$row[overskrift]<br><br>";
echo "$row[nyhed]";
?>
<hr>

<?php
db_con();
$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC");
$list = mysql_query("SELECT * FROM nyheder ORDER BY id DESC");
while($row = mysql_fetch_array($list)) {
    echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";
}
?>
Avatar billede schaefner Juniormester
21. juni 2003 - 11:35 #14
hov:

$list = mysql_query("SELECT * FROM nyheder ORDER BY id DESC");

skal ikke være der.
Avatar billede tlunde Nybegynder
21. juni 2003 - 11:37 #15
Den viser nu den allerførste nyhed der er indrykket, altså id=1 men den skal vise den sidst nye nyhed der er indrykket, altså den sidste id i tabellen...
Avatar billede tlunde Nybegynder
21. juni 2003 - 11:41 #16
Hvordan skal denne linie:

$id = (isset($_GET['id'])) ? $_GET['id'] : 1;

så se ud for at den viser den sidst nye nyhed, når man kører scriptet?
Avatar billede schaefner Juniormester
21. juni 2003 - 11:43 #17
Prøv:

<?php
include('../config.php');
db_con();

if (isset($_GET['id'])) {
    $id = $_GET['id']
} else {
    $getid = mysql_query('SELECT MAX(id) AS h FROM nyheder');
    $get = mysql_fetch_assoc($getid);
    $id = $get['h'];
}
$nyhed = mysql_query("SELECT * FROM nyheder WHERE id = $id");
$row = mysql_fetch_array($nyhed);
echo "$row[overskrift]<br><br>";
echo "$row[nyhed]";
?>
<hr>

<?php
db_con();
$list = mysql_query("SELECT * FROM nyheder WHERE id != $id ORDER BY id DESC");
while($row = mysql_fetch_array($list)) {
    echo "<a href=\"?id=$row[id]\">$row[overskrift]</a><br>";
}
?>
Avatar billede tlunde Nybegynder
21. juni 2003 - 11:45 #18
Jamen, det kunne da bare ikke være bedre...det virker som det skal nu! Mange tak for din hjælp og tålmodighed...Her er dine fortjente points!
Avatar billede internet Nybegynder
29. april 2004 - 18:23 #19
Just asking: Hvordan ser config.php filen i dette sammenhæng ud?
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