Avatar billede snapela Nybegynder
10. maj 2003 - 19:50 Der er 9 kommentarer

Forbind Kommentarer med News ID

Jeg har News systemet, jeg har ID colonne i min mysql database, men nu vil jeg ha Kommentarer i, problemet er bare, Hvordan?
Jeg har Lavet videre men jeg ka simpelthen ik...
Avatar billede Slettet bruger
10. maj 2003 - 19:54 #1
tabel comments:
id|comment|nid
nid svarer så til id i news....
f.eks.
$sql = "SELECT n.title, count(c) FROM comments c, news n where n.id=c.nid group by n.id";
$result = mysql_qery($sql);
$result indeholder nu titlen og antallet af kommentarer til de enkelte nyheder.
Avatar billede snapela Nybegynder
10. maj 2003 - 19:57 #2
Med mysql ?
er dette ikke med sql ?
Avatar billede Slettet bruger
10. maj 2003 - 20:03 #3
SQL = Den syntax du bruger til at skrive til de fleste databaser
MySQL = Navnet på en af disse databaser.
$sql <--- bruges bare som en streng... ovenstående kunne også skrives:
$result = mysql_qery("SELECT n.title, count(c) FROM comments c, news n where n.id=c.nid group by n.id");
Avatar billede snapela Nybegynder
10. maj 2003 - 21:06 #4
Jeg er lidt n00b, så pap skæring ?
Avatar billede Slettet bruger
10. maj 2003 - 21:19 #5
hmmmm.....
Opret tabellen news med rækkerne:
id - int+primary+auto increment
title - varchar(50)
content - text

opret så tabellen comments
id - int+primary+auto increment
nid - int+primary+auto increment
comment - text

Fyld så de to tabeller med nogle værdier... hvor nid i tabellen comments svarer til værdier fra id i tabellen news (bindeledet mellem de to tabeller)
Kør så nedenstående script:
<?
//SØRG FOR AT DER ER CONNECTED TIL DATABASEN HER!!!!!!!

$sql = "SELECT n.title, count(c) as num_comments FROM comments c, news n where n.id=c.nid group by n.id";
$result = mysql_qery($sql);
while($row = mysql_fetch_array($result))
{
    echo $row['title']." ".$row['num_comments']."<br/>";
}
?>

NU skulle du gerne få udskrevet antallet af kommentarer til den enkelte artikel....
Avatar billede snapela Nybegynder
10. maj 2003 - 21:42 #6
Skal Tabellen comments se sådan ud:
CREATE TABLE `comment` (
`id` INT 'primary' AUTO_INCREMENT,
`nid` INT 'primary' AUTO_INCREMENT,
`name` TINYTEXT´,
`comment` TEXT
);
????
Avatar billede Slettet bruger
10. maj 2003 - 21:43 #7
Ca. sådan...

CREATE TABLE `comment` (
`id` INT 'primary' AUTO_INCREMENT,
`nid` INT,
`name` TINYTEXT´,
`comment` TEXT
);
Avatar billede snapela Nybegynder
10. maj 2003 - 21:52 #8
Ehm... Den siger noget med:
There is a chance that you may have found a bug in the SQL parser.
Og så går den fuld kommen amok
Avatar billede Slettet bruger
10. maj 2003 - 23:42 #9
cool.... jeg tror du skal sætte nogle størrelser på dine inter... eller bare bruge tinyint....
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