Avatar billede playr Nybegynder
21. december 2003 - 15:43 Der er 9 kommentarer og
3 løsninger

PHP spørgsmål

Hej Allesammen!

Jeg har et spørgsmål som jeg mega gerne vil have svar på!

Jeg vil gerne have noget til at se sådan her ud:


Nyheder (kategori med id 1 i tabellen kategori)
Nyhed1, nyhed2, nyhed3 (Nyheder der ligger i tabellen nyhed og har rækken kategori hvor værdien er "1")

Sport (kategori med id 2 i tabellen kategori)
Nyhed1, nyhed2, nyhed3 (Nyheder der ligger i tabellen nyhed og har rækken kategori hvor værdien er "2")

Kan nogen fortælle hvordan jeg får det til at se sådan ud?
Avatar billede codebase Praktikant
21. december 2003 - 15:46 #1
ja,

opret to tabeller i mysql, 1 til kategorier og en til artikler.

kategori:
id
navn

artikel:
id
navn
kategoriID
Avatar billede playr Nybegynder
21. december 2003 - 15:49 #2
Ja jeg ved det ...
men jeg mente koden..

Her er min mysql tabeller:

kategori:
- id
- navn

Nyheder:
- id
- nyhed
- text
- kategori

Og min kode ser således ud for at få det frem!

$foresp = mysql_query("SELECT * FROM kategori order by id");
while($data = mysql_fetch_array($foresp)){
echo "<a href=?kategori=$data[id]>$data[kategori]</a>-";
}

Men den skal også skrive hvilke nyheder der er i hver kategori, altså sådan her:

Kategori 1:
Nyhed
Nyhed
Nyhed

Kategori 2:
Nyhed
Nyhed
Nyhed

Så de der er i hver kategori bliver lagt nedeunder!
Avatar billede playr Nybegynder
21. december 2003 - 15:58 #3
Okay vil VIRKELIG gerne have svar på det her så sætter det op til 100 point !!
Avatar billede fcknet Nybegynder
21. december 2003 - 16:34 #4
<?

$data = mysql_query("SELECT * FROM kategori");
while ($row = mysql_fetch_array($data)) {
  echo '<b>'.$row[navn].'</b>';
  $data2 = mysql_query("SELECT * FOM nyheder LIMIT 3");
  while ($row2 = mysql_fetch_array($data2)) {
      echo $row[nyhed]."<br>";
  }
}
?>
Avatar billede playr Nybegynder
21. december 2003 - 16:45 #5
Det virker ik :(
Den printer bare en lang række med alle kategori'erne.. men ingen nyheder :(
Avatar billede playr Nybegynder
21. december 2003 - 16:59 #6
fcknet hvorfor virker det ik ?
Har du selv testet det ?

Den skriver sådan her:

Kategori 1



Kategori 2



Kategori 3

Altså der er 3 mellemrum imellem hvert hvor der burde stå 3 nyheder men der står intet :(
Avatar billede fcknet Nybegynder
21. december 2003 - 17:14 #7
<?

$data = mysql_query("SELECT * FROM kategori");
while ($row = mysql_fetch_array($data)) {
  echo '<b>'.$row[navn].'</b>';
  $data2 = mysql_query("SELECT * FOM nyheder LIMIT 3");
  while ($row2 = mysql_fetch_array($data2)) {
      echo $row[tekst]."<br>";
  }
}
?>

Ved ikke lige hvad feltnavnet er
Avatar billede playr Nybegynder
21. december 2003 - 18:10 #8
Virker ik...
Der er 2 tabels:

Kategori:
- id
- Kategori

Og så har jeg valgt at kalde den anden Artist:
Artist:
- id
- artist
- kategori

men det virker ik!

<?

$data = mysql_query("SELECT * FROM kategori");
while ($row = mysql_fetch_array($data)) {
  echo '<b>'.$row[kategori].'</b>';
  $data2 = mysql_query("SELECT * FROM artist LIMIT 3");
  while ($row2 = mysql_fetch_array($data2)) {
      echo $row[artist]."<br>";
  }
}
?>
Avatar billede playr Nybegynder
21. december 2003 - 18:29 #9
Giver gerne 150 point hvis det er der skal til SKAL virkelig have det der til at virke, please hjælp!!
Avatar billede kammeyer Nybegynder
21. december 2003 - 21:18 #10
<?php
$conn = mysql_pconnect("", "", "");
mysql_select_db("test");

$res = mysql_query("select * from kategori");
while ($row = mysql_fetch_object($res))
  {
    echo "<a href=?navn=$row->id>$row->navn</a><br>";

    $res2 = mysql_query("select * from nyheder where kategori=".$row->id);
    while ($row2 = mysql_fetch_object($res2))
      {
        echo "<a href=?nyhed=$row2->id>".$row2->nyhed."</a><br>";
      }
    echo "<br>";
  }

?>

Tabeller og feltnavne er taget fra dit første indlæg med feltnavne - dog med ændring af 'text' til 'tekst', da 'text' er et reserveret ord i mysql.

Så må du selv sørge for at de links peger på noget fornuftigt.
Jeg har testet det - og det virker fint her.
Avatar billede fcknet Nybegynder
22. december 2003 - 09:19 #11
kammeyer > Det er næsten den samme kode som min.
Avatar billede kammeyer Nybegynder
26. december 2003 - 20:06 #12
fcknet> Både og. Han ville have noget der var fuldstændigt, og dit tog ikke højde for hvilke nyheder der var under hvilke kategorier - så dit eksempel ville altid liste samme 3 nyheder under alle kategorier, hvilket åbenbart ikke var hvad han skulle bruge. Om han kan bruge mit ved jeg ikke, men det er som jeg har tolket det - og jeg har afprøvet det.
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