En frivillig programmør til en mindre opgave..

Tags:    php

Jeg skal bruge en frisk php-gut til at hjælpe mig med nogle rettelser til et system, som jeg allerede har i forvejen.

Der er snak om et enkelt lille link-system. Jeg vil gerne skyde en smule penge i det - men det bliver ikke meget. Så det skal være fordi du vil tjene lidt håndører.


Der er snak om følgende:
- Jeg vil gerne have, at den skal sætte hovedkategorierne op i 2 spalter.

- Jeg vil gerne, at den skal tælle antal links i kategorien, og ikke antal underkategorier.

- Jeg vil gerne, at de 4 underkategorier er listet under hinanden, som her http://www.belliz.org/dingenvej/dingenvej/hjemmeside/

- Jeg vil gerne, at den tæller antal links i underkategorierne.

- Jeg vil gerne have underkategorierne i 2 el. 3 spalter.

- Jeg vil gerne, at den sætter oprettelses-dato under hvert link.

- Jeg vil gerne, at man har mulighed for at anmelde hvert link, hvis det er dødt.

- Evt. mulighed for indtastning af søgeord ved oprettelsen - til søgemaskinen. Men kun måske.



angående tid tingen kan du bare definer en kolonen i din link tabel/tabeller til at være timestamp(det en data type) og så sætte dens default til CURRENT_TIMESTAMP under antagelse af at du bruger mysql det forholdsvis simpelt at gøre i phpadmin, dette ville gøre at hver gang du indsætter en række får rækken den tid som den blev indsat på i sin timestamp kolonne, så det bare et spørgsmål om når du viser den at fortælle php at det er en tid kan du bruge date funktionerne til.

At rangere kategorier i 2 eller flere rækker henter du bare alle kategorier ud i et array, finder ud af hvor mange gange antallet af kolonner går heltalligt op i længden af arrayet, og kører en forlække fra 0 til det tal, for hver iteration kører du en forløkke over fra 0 til antalkolonner-1,for hver iteraration checker du om i*antalkolonner+j hvor i er tæller i ydre løkker og j i indre løkker, er mindre end længden af dit kategori array, hvis det er læser du kolonens data i dit array og putter det ind i et array der reprænsenter data for den kolonen.
Når begge løkker er færdige står du med din kolonners dataer, som du så kan skrive ud som du vil, dette kunne godt skrives direkte i ind i løkkerne isæt hvis du bruger tabel i html.

At anmelde et link er bare et spørgsmål om at lave et link der står ved siden af det originale link som peger på siden selv med linkid i ude ?... delen af linket også sætte det id ind i en table over anmeldte links, dette kunne narturligvis spammes af en der keder sig meget til at anmelde alle links, skal de lige siges, og du skulle i din side selvfølgelig teste hver gang om det der er et link id sendt, ellers kunne du bare linke til en anden side der så gjorde det før omtalte og så tilsidst skiftede header tilbage til foregående side.


Til at liste under kategorier kunne du i de før omtalta forløkker bare query på underkategori tabellen i den indre løkke med det kategori id du har på det tidspunkt og kører en count bagefter på hvor mange der er. Hvis du bruger mysql kan du sætte SQL_CALC_FOUND_ROWS ind i kolonner i før omtalte query også kører SELECT FOUND_ROWS() query bagefter se her for forklaring:
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html
du kan så tjekke om der er flere end 4 hvis der kører du en forløkke fra 0 til 2 over array hvis der ikke er fra 0 til 3
og tilsidst hvis der var flere end 4 skriver du se flere...

- Jeg vil gerne have underkategorierne i 2 el. 3 spalter. den her bemærkning er i modstrid med bemærkningen over over den med mindre det på en side for sig selv så kan du bare bruge den før omtalte teknik til at dele op i kolonner.

Afhængig du kan kører en SELECT count(*),k.kid FROM links AS l,underkategori AS u,kategori AS k WHERE l.uid=u.uid AND u.kid=k.kid GROUP BY k.kid. Forud udsat at du bruger mysql. dette burde give dig antallet af links forhver kategori i teorien, forbehold for fejl :).

for at tælle links i underkategorier kunne du gøre følgende,
SELECT count(*),u.uid FROM links AS l,underkategori AS u WHERE l.uid=u.uid GROUP BY u.uid. samme forudsætninger som før.


Grunden til at jeg antod du brugte mysql er at det gør de fleste der koder i php.




Hååårh, er belliz mette stadig på nettet og igang med hjemmeside. Satme lang tid siden :)



t