Gå til innhold

Flere kategorier i linkesystem


Anbefalte innlegg

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 av Sonymann
Lenke til kommentar
Videoannonse
Annonse

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...