|
| 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
| |
|
|