/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hjælp,
Fra : Emil Petersen


Dato : 02-03-08 12:50

Hejsa,
Jeg skal lave et lille CMS, hvor man skal kunne insætte et link i
MySQL tabel, og de skal så have tildelt en kategori.
På forsiden skal linksne så vise i forskellige bokse alt efter
hvordan de er kategoriseret. Kategorierne skal man så også kunne
ændre på, så de skal vel have en MySQL tabel forsig selv.

Hvordan ville man skrive det stykke kode til forsiden, altså så
de bliver vist i bokse efter hvodan de er kategoriseret ?

Håber nogen kan hjælpe.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johan Holst Nielsen (02-03-2008)
Kommentar
Fra : Johan Holst Nielsen


Dato : 02-03-08 13:20

Emil Petersen wrote:
> Hejsa,
> Jeg skal lave et lille CMS, hvor man skal kunne insætte et link i
> MySQL tabel, og de skal så have tildelt en kategori.
> På forsiden skal linksne så vise i forskellige bokse alt efter
> hvordan de er kategoriseret. Kategorierne skal man så også kunne
> ændre på, så de skal vel have en MySQL tabel forsig selv.
>
> Hvordan ville man skrive det stykke kode til forsiden, altså så
> de bliver vist i bokse efter hvodan de er kategoriseret ?
>
> Håber nogen kan hjælpe.

Mest logisk vil være at have en tabel struktur der ser noget ala sådanher ud


-categories-
id => int unsigned auto_increment
navn => varchar(50)

-links-
id => int unsigned auto_increment
cat_id => int unsigned index => linker til categories
navn => varchar(50) - Navnet på linket
url => varchar(100) - URL på linket


Så kan du reelt lave 2 funktion

function getCategories() {
$sql = "SELECT id, navn FROM categories";
$res = mysql_query($sql);
$cats = array();
while($r = mysql_fetch_assoc($res)) {
$cats[$r['id']] = $r['navn'];
}
return $cats;
}

Og en til at hente links i en bokse

function getCatLinks($catid) {
$sql = "SELECT navn, url FROM links WHERE cat_id = '".$catid."'";
$res = mysql_query($sql);
$link = array();
while($r = mysql_fetch_assoc($res)) {
$link[] = array('navn'=>$r['navn'],'url'=>$r['url']);
}
return $link;
}

Udskriften af boksen vil så se nogenlunde sådan her ud:

<?php
$cats = getCategories();

foreach($cats as $cid=>$catnavn) {
echo '<div style="border:1px solid black;padding:10px;">
echo '<strong>'.$catnavn.'</strong><br />';
$links = getCatLinks($cid);
foreach($links as $l) {
echo '<a href="'.$l['url'].'">'.$l['navn'].'</a><br />';
}
echo '</div>';
}
?>


Ja - det endte sku med jeg næsten skrev hele scriptet. Der er ingen
validering eller lign - og er meget hurtigt skrevet - så der kan godt
være en enkelt parseerror eller forkert indtastning et sted. Men nu er
du da i gang ;)

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Emil Petersen (02-03-2008)
Kommentar
Fra : Emil Petersen


Dato : 02-03-08 13:29

Johan Holst Nielsen wrote in dk.edb.internet.webdesign.serverside.php:
> Emil Petersen wrote:
> > Hejsa,
> > Jeg skal lave et lille CMS, hvor man skal kunne insætte et link i
> > MySQL tabel, og de skal så have tildelt en kategori.
> > På forsiden skal linksne så vise i forskellige bokse alt efter
> > hvordan de er kategoriseret. Kategorierne skal man så også kunne
> > ændre på, så de skal vel have en MySQL tabel forsig selv.
> >
> > Hvordan ville man skrive det stykke kode til forsiden, altså så
> > de bliver vist i bokse efter hvodan de er kategoriseret ?
> >
> > Håber nogen kan hjælpe.
>
> Mest logisk vil være at have en tabel struktur der ser noget ala sådanher ud
>
>
> -categories-
> id => int unsigned auto_increment
> navn => varchar(50)
>
> -links-
> id => int unsigned auto_increment
> cat_id => int unsigned index => linker til categories
> navn => varchar(50) - Navnet på linket
> url => varchar(100) - URL på linket
>
>
> Så kan du reelt lave 2 funktion
>
> function getCategories() {
> $sql = "SELECT id, navn FROM categories";
> $res = mysql_query($sql);
> $cats = array();
> while($r = mysql_fetch_assoc($res)) {
> $cats[$r['id']] = $r['navn'];
> }
> return $cats;
> }
>
> Og en til at hente links i en bokse
>
> function getCatLinks($catid) {
> $sql = "SELECT navn, url FROM links WHERE cat_id = '".$catid."'";
> $res = mysql_query($sql);
> $link = array();
> while($r = mysql_fetch_assoc($res)) {
> $link[] = array('navn'=>$r['navn'],'url'=>$r['url']);
> }
> return $link;
> }
>
> Udskriften af boksen vil så se nogenlunde sådan her ud:
>
> <?php
> $cats = getCategories();
>
> foreach($cats as $cid=>$catnavn) {
> echo '<div style="border:1px solid black;padding:10px;">
> echo '<strong>'.$catnavn.'</strong><br />';
> $links = getCatLinks($cid);
> foreach($links as $l) {
> echo '<a href="'.$l['url'].'">'.$l['navn'].'</a><br />';
> }
> echo '</div>';
> }
> ?>
>
>
> Ja - det endte sku med jeg næsten skrev hele scriptet. Der er ingen
> validering eller lign - og er meget hurtigt skrevet - så der kan godt
> være en enkelt parseerror eller forkert indtastning et sted. Men nu er
> du da i gang ;)
>
> --
> Johan Holst Nielsen
> Freelance PHP Developer - http://phpgeek.dk



1000 tak, var lige hvad jeg manglede .. Kunne ikke lige gennemskue hvordan det
skulle gøres.. (:

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste