/ 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
Hele 3 spørgsmål på én gang
Fra : Henrik Pedersen


Dato : 06-08-03 13:43

Hej NG!

Som den hardcore-php-coder-wannabe jeg nu engang er, så sidder jeg lidt fast
og må endnu engang ty til hjælp - derfor hele 3 spørgsmål:

1. Den har sikkert været her 100 gange før - men nu kommer den altså igen.
Jeg vil gerne have en funktion, som tæller hvor mange gange der er klikket
på et link. Informationerne skal smides ned i en MySQL - så jeg jo også kan
vise det på siden ;) Nogen der har en source eller et link til samme. Evt.
gerne med lidt forklaring??

2. Jeg skal fra selvsamme "link-liste" kunne klikke mig ind på disse nyheder
(så der bliver vist én nyhed ad gangen) - dette er egentlig ikke noget
problem, men jeg vil gerne gøre det muligt for læseren at skrive en
kommentar. Her er spørgsmålet så: Skal jeg lave en særskilt "Table" i MySQL
til kommentar fra læseren - eller skal jeg lave det i samme "Table" som
selve nyhederne? Hvad er mest praktisk - for og imod? Forklaring og forslag
er også velkommende :)

3. Nogle links til danske sites med PHP forklaringer, scripts og tutorials.
Nogle der har det...savner noget :)

Håber diverse PHP-hajer kan hjælpe en stakkels wannabe som mig. Takker på
forhånd.


Mvh
Henrik Pedersen



 
 
Johan Holst Nielsen (06-08-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 06-08-03 13:58

Henrik Pedersen wrote:
> Hej NG!
>
> Som den hardcore-php-coder-wannabe jeg nu engang er, så sidder jeg lidt fast
> og må endnu engang ty til hjælp - derfor hele 3 spørgsmål:
>
> 1. Den har sikkert været her 100 gange før - men nu kommer den altså igen.
> Jeg vil gerne have en funktion, som tæller hvor mange gange der er klikket
> på et link. Informationerne skal smides ned i en MySQL - så jeg jo også kan
> vise det på siden ;) Nogen der har en source eller et link til samme. Evt.
> gerne med lidt forklaring??

Først laver f.eks. f.eks. en tabel med følgende:

id = int(11) auto_increment
link = varchar(255) URL'en
desc = text beskrivelse af linket? Kan eventuelt ændre type - ved ikke
hvor lange beskrivelser du vil ha?
clicked = int(11)

Hver gang der clickes på linket henviser du til f.eks.
countclick.php?id=[ID] så selecter du antal og link... updater med en på
antal og redirecter med f.eks. header funktionen :)

> 2. Jeg skal fra selvsamme "link-liste" kunne klikke mig ind på disse nyheder
> (så der bliver vist én nyhed ad gangen) - dette er egentlig ikke noget
> problem, men jeg vil gerne gøre det muligt for læseren at skrive en
> kommentar. Her er spørgsmålet så: Skal jeg lave en særskilt "Table" i MySQL
> til kommentar fra læseren - eller skal jeg lave det i samme "Table" som
> selve nyhederne? Hvad er mest praktisk - for og imod? Forklaring og forslag
> er også velkommende :)

Ved hver nyhed har du formentlig et id?

Opret en tabel med følgende felter (muligvis flere...)

id int(11)
nyhed_id int(11) => henviser til ID'et i nyheden
comment text

Så laver du blot en select på nyheden således:

SELECT comment FROM nyhedskommentarer WHERE nyhed_id =
$ID_Som_du_får_fra_nyheden :)

Så smider du den bare gennem en while løkke med noget mysql_fetch_Row
eller ligende og udskriver den :)


> 3. Nogle links til danske sites med PHP forklaringer, scripts og tutorials.
> Nogle der har det...savner noget :)

http://www.php-faq.dk/index.php?faq=3


Spørg endelig hvis du har flere spørgsmål

mvh
Johan


Johan Holst Nielsen (06-08-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 06-08-03 13:59

Johan Holst Nielsen wrote:
>> 3. Nogle links til danske sites med PHP forklaringer, scripts og
>> tutorials.
>> Nogle der har det...savner noget :)
>
>
> http://www.php-faq.dk/index.php?faq=3

Og omkring scripts:
http://www.php-faq.dk/index.php?faq=22

mvh
Johan


Jacob Atzen (06-08-2003)
Kommentar
Fra : Jacob Atzen


Dato : 06-08-03 18:34

Johan Holst Nielsen <johan@weknowthewayout.com> writes:

> Først laver f.eks. f.eks. en tabel med følgende:
>
> id = int(11) auto_increment
> link = varchar(255) URL'en
> desc = text beskrivelse af linket? Kan eventuelt ændre type - ved ikke
> hvor lange beskrivelser du vil ha?
> clicked = int(11)
>
> Hver gang der clickes på linket henviser du til
> f.eks. countclick.php?id=[ID] så selecter du antal og link... updater
> med en på antal og redirecter med f.eks. header funktionen :)

Eller endnu smartere:
UPDATE [tabelnavn] SET clicked = clicked + 1 WHERE link = '[link]';

--
Med venlig hilsen
- Jacob Atzen

Johan Holst Nielsen (06-08-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 06-08-03 18:45

Jacob Atzen wrote:
> Johan Holst Nielsen <johan@weknowthewayout.com> writes:
>
>>Først laver f.eks. f.eks. en tabel med følgende:
>>
>>id = int(11) auto_increment
>>link = varchar(255) URL'en
>>desc = text beskrivelse af linket? Kan eventuelt ændre type - ved ikke
>>hvor lange beskrivelser du vil ha?
>>clicked = int(11)
>>
>>Hver gang der clickes på linket henviser du til
>>f.eks. countclick.php?id=[ID] så selecter du antal og link... updater
>>med en på antal og redirecter med f.eks. header funktionen :)
>
>
> Eller endnu smartere:
> UPDATE [tabelnavn] SET clicked = clicked + 1 WHERE link = '[link]';

Overvejede det samme... men gør en minimal forskel - da man alligevel
skal have linket ud af databasen.... så der SKAL en select til... så
valgte at gøre forklaringen så nem som muligt :)

mvh
Johan


Jacob Atzen (06-08-2003)
Kommentar
Fra : Jacob Atzen


Dato : 06-08-03 19:00

Johan Holst Nielsen <johan@weknowthewayout.com> writes:

> > UPDATE [tabelnavn] SET clicked = clicked + 1 WHERE link = '[link]';
>
> Overvejede det samme... men gør en minimal forskel - da man alligevel
> skal have linket ud af databasen.... så der SKAL en select til... så
> valgte at gøre forklaringen så nem som muligt :)

Jeg tænkte ikke lige over at man skulle have linket ud af databasen,
da jeg postede. Det kan i øvrigt undgås ved at skrive linket i GET
requested i stedet for et id.

Det vil desuden sikkert være en del nemmere i længden, at man ikke
skal ind og oprette hvert link i databasen "manuelt", men bare kan
skrive sine links som counter.php?url=http://foo.bar.

--
Med venlig hilsen
- Jacob Atzen

Johan Holst Nielsen (07-08-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 07-08-03 09:25



Jacob Atzen wrote:
> Johan Holst Nielsen <johan@weknowthewayout.com> writes:
>
>
>>>UPDATE [tabelnavn] SET clicked = clicked + 1 WHERE link = '[link]';
>>
>>Overvejede det samme... men gør en minimal forskel - da man alligevel
>>skal have linket ud af databasen.... så der SKAL en select til... så
>>valgte at gøre forklaringen så nem som muligt :)
>
>
> Jeg tænkte ikke lige over at man skulle have linket ud af databasen,
> da jeg postede. Det kan i øvrigt undgås ved at skrive linket i GET
> requested i stedet for et id.
>
> Det vil desuden sikkert være en del nemmere i længden, at man ikke
> skal ind og oprette hvert link i databasen "manuelt", men bare kan
> skrive sine links som counter.php?url=http://foo.bar.

Du skal da alligevel oprette den? Eller skal du køre tjek på den...
eller smide URL'en som index?

Altså der er reelt min metode - som jeg har forklaret.

Din metode vil kræve at du laver en SELECT forespørgsel som tjekker om
du skal lave en UPDATE eller en INSERT på linket ;) Og så er vi ikke
meget videre :(

Ellers skal man blot lave en $query = "UPDATE tabel SET counter =
counter+1 WHERE url = '".$_GET['url']."'"

Den sidste giver 1 mindre select... men så er det smag og behag der er
tilbage :) Select i Mysql er jo ret hurtig anyway... Det er updaten der
tager tiden - hvis vi skal fluekneppe.

mvh
Johan


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

Månedens bedste
Årets bedste
Sidste års bedste