Avatar billede subit Nybegynder
08. maj 2003 - 19:18 Der er 7 kommentarer og
1 løsning

Så er vi på den igen (PHP)

Hej Allesammen...

Jeg har lavet et nyheds system hvor jeg har fået den til at vise nyhederne men skal have den til at vise nyhederne i kategorier...
Og det har jeg så gjort ved at lave en ny tabel "Kategori" med id og navn i.
Og jeg har sat "kategori" ind i hoved-tabellen ved navn "nyheder".

Jeg har fået den til at vise nyhederne:


<?

mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db("database");
$foresp = mysql_query("SELECT id, navn FROM kategori ORDER BY id") or die(mysql_error());


while($data = mysql_fetch_array($foresp)) {

echo "<a href=vis.php?kategori=$data[id]>$data[navn]</a>";
echo "<br>";
}

?>

Men når jeg trykker på dem går de bare hen til den der hedder "vis.php" og viser ALLE nyhederne? ikke kun dem der er i kategorierne.
Altså i hoved-tabellen Kategori hvor nyhederne står, har jeg lagt dem op i kategori 1 og 2.
Og de vises også ved hjælp af det script jeg har skrevet.
Men den skal kune vise nyhederne der ligger i kategori 1 hvis jeg går ind i kategori 1.

Er det måske noget i den anden fil jeg skal rette? (vis.php)

Måske lidt forvirrende :S

mvh. Martin
Avatar billede ahv Nybegynder
08. maj 2003 - 19:21 #1
Noget ala:

$foresp = mysql_query("SELECT * FROM kategori WHERE id='$_GET[kategori]' ORDER BY id") or die(mysql_error());
Avatar billede ahv Nybegynder
08. maj 2003 - 19:22 #2
Altså i din vis.php skal udtrækket være noget ala det, du skal jo sætte en WHERE, så den ved hvad den skal trække ud.
Avatar billede subit Nybegynder
08. maj 2003 - 19:23 #3
Hmm... så viser den bare tom side?
Tror det der script er iorden? måske det ku være noget med vis.php?
Her er vis.php:

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

<html>
<head>
</head>

<body>

<?
$id = $_REQUEST['id'];

mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db("database");
$foresp = mysql_query("SELECT dato, overskrift, tekst, billede, id, referat FROM nyheder ORDER BY dato") or die(mysql_error());


if ($_REQUEST["id"] != 0) {

while($data = mysql_fetch_array($foresp)) {
if ($data[id] == $_REQUEST["id"]) {
echo "Nyheden $data[overskrift], fra den $data[dato] <br><br> $data[tekst]";
}
}

} else {


while($data = mysql_fetch_array($foresp)) {

echo "<a href=nyhed.php?id=$data[id]>";

echo "<img src=\"$data[billede]\" align=\"left\" border=\"0\"></a><br>";
  echo "<a href=nyhed.php?id=$data[id]><B>$data[1]</B></a> - ";
  echo date("j/n - Y", $data[0]);
echo "<br>$data[referat]<br><br>";

echo "</a>";

}

//afslutning på "If then else" betingelse
}

?>

</body>
</html>

-------------------------------------------
Avatar billede ahv Nybegynder
08. maj 2003 - 19:26 #4
Har hver enkelte nyhed en relation til kategori tabellen f.eks. så der i nyheder er et felt som hedder katid og dette id svarer så til kategori id'et?
Avatar billede subit Nybegynder
08. maj 2003 - 19:28 #5
ok kan fortælle hvad jeg har a tabeller:

- Kategori
id
navn


- Nyheder
id
dato
overskrift
tekst
billede
referat
forfatter
kategori

Hmm nej det er der ikke... Nyhederne's ID ligger i tabellen nyheder. skal den også være i kategori ?
Avatar billede ahv Nybegynder
08. maj 2003 - 19:38 #6
$foresp = mysql_query("SELECT dato, overskrift, tekst, billede, id, referat FROM nyheder WHERE kategori='$_GET[kategori]' ORDER BY dato") or die(mysql_error());
Avatar billede sito Nybegynder
08. maj 2003 - 20:09 #7
Har du fået det til at virke?
Avatar billede exp Juniormester
09. maj 2003 - 10:40 #8
Som jeg skrev i et tidligere spm kan du kigge lidt på denne side:
http://www.firewerx.dk/www/txtparser.php

Den sorterer data, fx efter kategori.
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