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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
My-Sql tæller
Fra : Henning Birch


Dato : 24-09-01 15:45

Hej
Jeg sidder og laver lidt hjemmeside i PHP og mysql.

Baggrund : I min database har jeg nogle artikler som indeholder et ID, et
resume, og en fuldtekst (+ et par andre felter som ikke har noget med det
her at gøre)

Jeg vil så gerne vise resumeet af alle artikler og lave link til fuldtekst
versionen.

Spørgsmål : Er der en måde i mysql at lave det sådan at kaldet til databasen
tæller en tæller en op hver gang fuldtekstversionen bliver kaldt.

Jeg kan selvfølgeligt lave det med en UPDATE på en tæller, men det kræver to
databasekald - et for at hente tæller (og fuldtekstversion) og et for at
lave update på tælleren.

Mit kald til databasen ser sådan ud nu. Men uden tæller.
$result = mysql_db_query($db, "SELECT * FROM ARTIKLER where ARTIKEL_ID=
$resume", $connection);


--
Henning

 
 
Henrik Hansen (24-09-2001)
Kommentar
Fra : Henrik Hansen


Dato : 24-09-01 22:42

Henning Birch <henning_birch@spamfælde.yahoo.com> wrote:

> Hej
> Jeg sidder og laver lidt hjemmeside i PHP og mysql.
>
> Baggrund : I min database har jeg nogle artikler som indeholder et ID, et
> resume, og en fuldtekst (+ et par andre felter som ikke har noget med det
> her at gøre)
>
> Jeg vil så gerne vise resumeet af alle artikler og lave link til fuldtekst
> versionen.
>
> Spørgsmål : Er der en måde i mysql at lave det sådan at kaldet til databasen
> tæller en tæller en op hver gang fuldtekstversionen bliver kaldt.
>
> Jeg kan selvfølgeligt lave det med en UPDATE på en tæller, men det kræver to
> databasekald - et for at hente tæller (og fuldtekstversion) og et for at
> lave update på tælleren.

ja du kan af gode grunde ikke blande updates og select sammen, så hvad
med et update sql kald:

update ARTIKLER set count=count+1 where ARTIKEL_ID= $resume;

og derefter hente dine data ud, jeg tror heller ikke at 2 sql kald
vælter din benchmark :)

--
Henrik Hansen

Henning Birch (25-09-2001)
Kommentar
Fra : Henning Birch


Dato : 25-09-01 14:59

Henrik Hansen <hh@mailserver.dk> wrote in
news:hetss1u4.fsf@mailserver.dk:

> ja du kan af gode grunde ikke blande updates og select sammen, så hvad
> med et update sql kald:

Tak for svaret. Jeg har bare "hørt ude i byen" [#] at der var mulighed for
at lave noget snedig med en "trigger" så der kunne ske en optælling.
Det jeg har kunnet finde om "trigger" i mysql sammenhæng er at det er lavt
prioriteret i "To-Do" listen. Og at det ødelægger performance.

Jeg gør som du foreslår med en update efterfulgt med at hente data.

[#] Man skal ikke tro på alt man hører ude i byen, men det var da et forsøg
værd at spørge.
--
Henning

Henrik Hansen (25-09-2001)
Kommentar
Fra : Henrik Hansen


Dato : 25-09-01 22:22

Henning Birch <henning_birch@spamfælde.yahoo.com> wrote:

> Henrik Hansen <hh@mailserver.dk> wrote in
> news:hetss1u4.fsf@mailserver.dk:
>
>> ja du kan af gode grunde ikke blande updates og select sammen, så hvad
>> med et update sql kald:
>
> Tak for svaret. Jeg har bare "hørt ude i byen" [#] at der var mulighed for
> at lave noget snedig med en "trigger" så der kunne ske en optælling.
> Det jeg har kunnet finde om "trigger" i mysql sammenhæng er at det er lavt
> prioriteret i "To-Do" listen. Og at det ødelægger performance.

Ja hvis vi taler om andre databaser end mysql er det sikkert muligt,
men på de andre er det som du selg siger muligt at lave en
trigger. Men hvis du laver 2 statements er det AFAIK mest portabelt,
kender ikke lidt hvor godt triggers er standard understøttet og om det
er samme syntax.

--
Henrik Hansen

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

Månedens bedste
Årets bedste
Sidste års bedste