Sonymann Skrevet 19. august 2004 Del Skrevet 19. august 2004 (endret) Jeg har laget meg et linke-system, men jeg skulle gjerne hatt mulighet til å gi linkene flere kategorier. Hvordan kan dette gjøres? Her er databsestruktur og PHP-kode: listings.php <?php $connection = @mysql_connect(localhost, root) or die("Umulig å få kontakt med database"); mysql_select_db(lenker); $linkCount = mysql_query("SELECT * FROM links WHERE category = '$_GET[catID]'"); while ($links = @mysql_fetch_array($linkCount, MYSQL_ASSOC)) { $linkTitle = $links["linkTitle"]; $linkID = $links["linkID"]; $linkURL = $links["linkURL"]; $linkDescription = $links["linkDescription"]; $linkDate = $links["linkDate"]; ///////////////////////////////Pull existing rate avg//////////////////////////////////////////// $membersrated = mysql_query("SELECT * FROM ratings WHERE linkID = '$linkID' "); $num_rates = mysql_num_rows($membersrated); if ($num_rates != 0){ while ($ratings = mysql_fetch_array($membersrated)){ $xrating[] = $ratings['rating']; } $total = array_sum($xrating); unset($xrating); $totalavg = $total / $num_rates; }else{ $totalavg = 0; } /////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////get ratings//////////////////////////////////////////////////// switch ($totalavg) { case 0: $rating = "Not rated yet."; break; case (($totalavg > .09) && ($totalavg < 1.5)): $rating = "<img src=\"infowizards/images/1star.gif\">"; break; case (($totalavg > 1.4) && ($totalavg < 2)): $rating = "<img src=\"infowizards/images/1_5stars.gif\">"; break; case (($totalavg > 1.9) && ($totalavg < 2.5)): $rating = "<img src=\"infowizards/images/2stars.gif\">"; break; case (($totalavg > 2.4) && ($totalavg < 3)): $rating = "<img src=\"infowizards/images/2_5stars.gif\">"; break; case (($totalavg > 2.9) && ($totalavg < 3.5)): $rating = "<img src=\"infowizards/images/3stars.gif\">"; break; case (($totalavg > 3.4) && ($totalavg < 4)): $rating = "<img src=\"infowizards/images/3_5stars.gif\">"; break; case (($totalavg > 3.9) && ($totalavg < 4.5)): $rating = "<img src=\"infowizards/images/4stars.gif\">"; break; case (($totalavg > 4.4) && ($totalavg < 5)): $rating = "<img src=\"infowizards/images/4_5stars.gif\">"; break; case ($totalavg > 4.5): $rating = "<img src=\"infowizards/images/5stars.gif\">"; break; default: $rating = "Not rated yet"; } echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr height=\"20\" valign=\"middle\"> <td colspan=\"3\"><img src=\"infowizards/images/listingsq.gif\"> <a href=\"go.php?id=".$linkID."\"><b>$linkTitle</b></a></td> <td align=\"right\"><font size=\"1\">Lagt til: $linkDate</font></td> </tr> <tr> <td colspan=\"4\"><span class=\"dottedbottom\">$linkDescription</span></td> </tr> <tr height=\"20\" valign=\"middle\"> <td width=\"10%\"><a href=\"http://www.alexa.com/data/details?url=".$linkURL."\" target=\"_blank\"><img src=\"infowizards/images/alexa.gif\" border =\"0\" alt=\"Vis Alexa-karakter\"></a></td> <td width=\"35%\"><a href=\"comments.php?linkID=".$linkID."\">Kommentér lenke</a> | <a href=\"viewcomments.php?linkID=".$linkID."&page=1\">Vis kommentarer</a></td> <td width=\"35%\">$rating $num_rates stemme(r)</td> <td width=\"20%\" align=\"right\"><a href=\"#\" onclick=\"window.open('rate.php?linkID=".$linkID."', '_rate', 'HEIGHT=340,resizable=yes,scrollbars=yes,WIDTH=360');return false;\" target=\"_rate\">Stem på denne lenken</a></td> </tr> </table><hr>\n"; } ?> Tabell Categories CREATE TABLE `categories` ( `cat_id` int(10) NOT NULL auto_increment, `cat_name` varchar(255) NOT NULL default '', `sub_id` int(10) NOT NULL default '0', `hit` int(10) NOT NULL default '0', KEY `cat_id` (`cat_id`) ) TYPE=MyISAM AUTO_INCREMENT=31; # # Dumping data for table `categories` # INSERT INTO `categories` VALUES (1, 'Nettaviser', 0, 0); INSERT INTO `categories` VALUES (2, 'Økonomi', 1, 27); INSERT INTO `categories` VALUES (3, 'IT', 1, 0); INSERT INTO `categories` VALUES (4, 'Søkemotorer', 0, 0); INSERT INTO `categories` VALUES (5, 'Kataloger', 4, 0); INSERT INTO `categories` VALUES (6, 'Registrering', 4, 0); INSERT INTO `categories` VALUES (7, 'Startsider', 0, 0); INSERT INTO `categories` VALUES (8, 'Utenlandske', 7, 0); INSERT INTO `categories` VALUES (9, 'Regionalt', 7, 0); INSERT INTO `categories` VALUES (10, 'Rogaland', 9, 0); INSERT INTO `categories` VALUES (11, 'Webdesign', 0, 0); INSERT INTO `categories` VALUES (12, 'PHP', 11, 1); INSERT INTO `categories` VALUES (13, 'CSS', 11, 0); INSERT INTO `categories` VALUES (14, 'HTML', 11, 0); INSERT INTO `categories` VALUES (15, 'Barn', 0, 2); INSERT INTO `categories` VALUES (16, 'Aktiviteter på nett', 15, 1); INSERT INTO `categories` VALUES (17, 'Eventyr', 15, 0); INSERT INTO `categories` VALUES (18, 'Dataspill', 15, 1); INSERT INTO `categories` VALUES (19, 'Spill', 15, 0); INSERT INTO `categories` VALUES (20, 'Nettbutikker', 0, 6); INSERT INTO `categories` VALUES (21, 'Data', 20, 7); INSERT INTO `categories` VALUES (22, 'Foto', 20, 0); INSERT INTO `categories` VALUES (23, 'Elektro', 20, 0); INSERT INTO `categories` VALUES (24, 'Musikk', 20, 0); INSERT INTO `categories` VALUES (25, 'Bokhandlere', 20, 0); INSERT INTO `categories` VALUES (26, 'Auksjoner', 20, 1); INSERT INTO `categories` VALUES (27, 'DVD og video', 20, 0); INSERT INTO `categories` VALUES (28, 'Dataspill', 21, 0); INSERT INTO `categories` VALUES (29, 'Utenlandske butikker', 21, 0); INSERT INTO `categories` VALUES (30, 'Informasjonssteder', 20, 8); Tabell links CREATE TABLE `links` ( `linkID` int(10) NOT NULL auto_increment, `linkTitle` varchar(255) NOT NULL default '', `linkDescription` text NOT NULL, `linkURL` varchar(255) NOT NULL default '', `linkDate` date NOT NULL default '0000-00-00', `category` int(10) NOT NULL default '0', `hit` int(10) NOT NULL default '0', KEY `linkID` (`linkID`) ) TYPE=MyISAM AUTO_INCREMENT=15; # # Dumping data for table `links` # INSERT INTO `links` VALUES (1, 'Dagens Næringsliv', 'En av næringslivets hovedaviser. Daglige utgivelser med unntak for søndager.', 'http://www.dn.no', '2004-08-18', 2, 2); INSERT INTO `links` VALUES (2, 'Google', 'Verdens største og beste søkemotor, med over 4 milliarder sider.', 'http://www.google.com', '2004-08-19', 4, 0); INSERT INTO `links` VALUES (3, 'Hardware Forum: Programmering', 'Forum for diskusjon og hjelp med HTML, CSS, ASP, PHP og andre programmeringsspråk.', 'http://forum.hardware.no/index.php?c=8', '2004-08-19', 11, 0); INSERT INTO `links` VALUES (4, 'Norsk Webforum', 'Webutviklingsforum hvor medlemmmer med ulik erfaring diskuterer alt innen webutvikling og design.', 'http://www.norskwebforum.no', '2004-08-19', 11, 0); INSERT INTO `links` VALUES (5, 'Nettavisen', 'Online avis med daglige nyheter. Eies av TV2.', 'http://www.nettavisen.no', '2004-08-19', 1, 0); INSERT INTO `links` VALUES (6, 'ITavisen', ' IT-nyheter fra Norge og utlandet.', 'http://www.itavisen.no', '2004-08-19', 3, 1); INSERT INTO `links` VALUES (7, 'Clas Ohlson', 'Alt-mulig-forretningens nettbutikk, med hele sortimentet på over 12000 produkter tilgjengelig for kjøp via nett. Katalog kan lastes ned eller bestilles.', 'http://www.clasohlson.no', '2004-08-19', 20, 0); INSERT INTO `links` VALUES (8, 'Prisguide.no', 'Her finner du beste priser, produktinformasjon og brukeres erfaringer med de\r\nulike produktene som er lagt inn i databasen.\r\n<br><br>\r\n<form name="form1" method="post" action="http://www.prisguide.no/fritekst_sok.php">\r\n<input type="text" name="pricefind" size="18">\r\n<input type="submit" value="Søk">\r\n</form>', 'http://www.prisguide.no', '2004-08-19', 30, 1); INSERT INTO `links` VALUES (9, 'Kelkoo', 'Hjelper Europeiske forbrukere å finne den laveste prisen på noen av de mest populære produktene fra noen av de mest populære nettbutikkene.\r\n<br><br>\r\n<form method="get" action="http://no.kelkoo.com/ctl/do/search">\r\n<input type="text" name="siteSearchQuery" size="18">\r\n<input type="submit" value="Søk">\r\n</form>', 'http://www.kelkoo.no', '2004-08-19', 30, 1); INSERT INTO `links` VALUES (10, 'Netthandelen', 'Nettauksjon hvor man kan by på produkter i ulike kategorier. Kun forhåndsbetaling.', 'http://www.netthandelen.no', '2004-08-19', 20, 0); INSERT INTO `links` VALUES (11, 'eBay', 'Verdens største online-auksjon med flere tusen produkter.', 'http://www.ebay.com', '2004-08-19', 20, 0); INSERT INTO `links` VALUES (12, 'Komplett', 'Skandinavias største Internett-butikk. God service, lave priser og godt utvalg. Kun datautstyr og datamaskiner.', 'http://www.komplett.no', '2004-08-19', 21, 0); INSERT INTO `links` VALUES (13, 'MPX', 'Nettbutikk med data- og telecomutstyr. Oversiktlig og godt utvalg.', 'http://www.mpx.no', '2004-08-19', 21, 0); INSERT INTO `links` VALUES (14, 'Dell', 'Norsk utgave av verdens største online databutikk. Selger skreddersydde PC-er. informasjon og oversikter over produktene, bedriftsinfo og support-tjeneste.', 'http://www.dell.no', '2004-08-19', 21, 0); EDIT: PHP-koden er nå kraftig redusert. EDIT: Category-kode var feil. Hadde lagt ut comments-tabell. Endret 20. august 2004 av Sonymann Lenke til kommentar
Lokaltog Skrevet 19. august 2004 Del Skrevet 19. august 2004 Venter du at noen uten videre skal pløye seg gjennom den massive PHP-koden der for deg? Lenke til kommentar
Beisfjord Skrevet 19. august 2004 Del Skrevet 19. august 2004 Ble litt sånn forvirra av at det stod "categories", mens tabellen ikke innehold noe som lignet på kategorier så jeg improviserser litt. Uansett, legg til 2 tabeller: kategori: kategoriID (PK), kategorinavn linkKategori: kategoriID (PK), linkID (PK). 'kategori' inneholder alle kategorinavnene, mens 'linkkategori' knytter en link opp mot en eller flere kategorier. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå