/ 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
Array() problem.
Fra : Bjorn Andersen


Dato : 22-11-01 20:31

Hej
Jeg har et stort problem jeg har tænkt længe over.

På min side overfører jeg alle de refererende side over i en database.
f.eks.
Jubii.dk
google.com
yahoo.dk

Hvordan tæller jeg op hvor folk kommer fra, når jeg ikke på forhånd ved den
refererende url?
eks:

http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/
http://soeg.jubii.dk/res.asp?loc=dk
http://www.google.com/search?q=fake danske billeder


Hvis jeg så har fået 4 hits fra den øverste, 5 fra den midterste og 1 fra
den nederste url, hvordan tæller jeg så sammen og lister op sådan:


http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/ 4 hits
http://soeg.jubii.dk/res.asp?loc=dk
5 hits
http://www.google.com/search?q=fake danske billeder 1 hits

osv.


Findes der en smart måde at sortere det på?
Jeg bruger mysql.


V.H.
Bjørn



 
 
Jacob Atzen (22-11-2001)
Kommentar
Fra : Jacob Atzen


Dato : 22-11-01 20:49

"Bjorn Andersen" <admin@sonderborgby.dk> writes:

> Hvordan tæller jeg op hvor folk kommer fra, når jeg ikke på forhånd ved den
> refererende url?

Du kender vel URL'en når du vil tælle dem op? Så kunne du gøre det ved at
lave et associativt array med noget i retning af:

if($array[$url]) {
$array[$url]++;
} else {
$array[$url] = 1;
}

Så kan du jo altid gemme dit array i mysql...

Med venlig hilsen
- Jacob Atzen

Bjorn Andersen (23-11-2001)
Kommentar
Fra : Bjorn Andersen


Dato : 23-11-01 07:57

Hej

Nej jeg kender ikke url'en, desværre.

/Bjørn

> > Hvordan tæller jeg op hvor folk kommer fra, når jeg ikke på forhånd ved
den
> > refererende url?
>
> Du kender vel URL'en når du vil tælle dem op? Så kunne du gøre det ved at
> lave et associativt array med noget i retning af:
>
> if($array[$url]) {
> $array[$url]++;
> } else {
> $array[$url] = 1;
> }
>
> Så kan du jo altid gemme dit array i mysql...
>
> Med venlig hilsen
> - Jacob Atzen



Thomas Jensen (23-11-2001)
Kommentar
Fra : Thomas Jensen


Dato : 23-11-01 00:03

"Bjorn Andersen" <admin@sonderborgby.dk> wrote in
news:9tjjn7$14tu$1@news.cybercity.dk:

Se svar herunder (sorry for manglende snip

> Hej
> Jeg har et stort problem jeg har tænkt længe over.
>
> På min side overfører jeg alle de refererende side over i en
> database. f.eks.
> Jubii.dk
> google.com
> yahoo.dk
>
> Hvordan tæller jeg op hvor folk kommer fra, når jeg ikke på forhånd
> ved den refererende url?
> eks:
>
> http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/
> http://soeg.jubii.dk/res.asp?loc=dk
> http://www.google.com/search?q=fake danske billeder
>
> Hvis jeg så har fået 4 hits fra den øverste, 5 fra den midterste og
> 1 fra den nederste url, hvordan tæller jeg så sammen og lister op
> sådan:
>
> http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/ 4
> hits http://soeg.jubii.dk/res.asp?loc=dk
> 5 hits
> http://www.google.com/search?q=fake danske billeder
> 1 hits

> Findes der en smart måde at sortere det på?
> Jeg bruger mysql.

Hvis jeg har forstået dit spm. rigtigt, kan følgende mysql session
måske hjælpe:

mysql> create database url_test;
Query OK, 1 row affected (0.04 sec)

mysql> use url_test;
Database changed
mysql> create table urls (url char(100) not null, dato datetime not
null);
Query OK, 0 rows affected (0.09 sec)

mysql> insert into urls (url, dato) values
('http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/', now());
Query OK, 1 row affected (0.02 sec)

mysql> insert into urls (url, dato) values
('http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/', now());
Query OK, 1 row affected (0.01 sec)

mysql> insert into urls (url, dato) values
('http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/', now());
Query OK, 1 row affected (0.01 sec)

mysql> insert into urls (url, dato) values
('http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/', now());
Query OK, 1 row affected (0.00 sec)

mysql> insert into urls (url, dato) values
('http://soeg.jubii.dk/res.asp?loc=dk', now());
Query OK, 1 row affected (0.00 sec)

mysql> insert into urls (url, dato) values
('http://soeg.jubii.dk/res.asp?loc=dk', now());
Query OK, 1 row affected (0.01 sec)

mysql> insert into urls (url, dato) values
('http://soeg.jubii.dk/res.asp?loc=dk', now());
Query OK, 1 row affected (0.00 sec)

mysql> insert into urls (url, dato) values
('http://www.google.com/search?q=fake danske billeder', now());
Query OK, 1 row affected (0.00 sec)

mysql> select url, count(*) as antal from urls group by url;
+-----------------------------------------------------------+-------+
| url | antal |
+-----------------------------------------------------------+-------+
| http://soeg.jubii.dk/res.asp?loc=dk | 3 |
| http://www.google.com/search?q=fake danske billeder | 1 |
| http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/ | 4 |
+-----------------------------------------------------------+-------+
3 rows in set (0.01 sec)

--
mvh
Thomas Jensen

Bjorn Andersen (23-11-2001)
Kommentar
Fra : Bjorn Andersen


Dato : 23-11-01 07:55

Hej
mysql> select url, count(*) as antal from urls group by url;
Hvad mener du med "as antal"?

/Bjørn



> mysql> insert into urls (url, dato) values
> ('http://www.google.com/search?q=fake danske billeder', now());
> Query OK, 1 row affected (0.00 sec)
>
> mysql> select url, count(*) as antal from urls group by url;
> +-----------------------------------------------------------+-------+
> | url | antal |
> +-----------------------------------------------------------+-------+
> | http://soeg.jubii.dk/res.asp?loc=dk | 3 |
> | http://www.google.com/search?q=fake danske billeder | 1 |
> | http://www.jubii.dk/Edb_Internet/Computerspil/Snydekoder/ | 4 |
> +-----------------------------------------------------------+-------+
> 3 rows in set (0.01 sec)
>
> --
> mvh
> Thomas Jensen



Thomas Jensen (23-11-2001)
Kommentar
Fra : Thomas Jensen


Dato : 23-11-01 10:20

"Bjorn Andersen" <admin@sonderborgby.dk> wrote in
news:9tkro0$2o57$1@news.cybercity.dk:

> Hej
> mysql> select url, count(*) as antal from urls group by url;
> Hvad mener du med "as antal"?

Det betyder at output kolonnen får navnet "antal".
Hvis du f.eks. bruger funktionen msql_fetch_object() til at hente
resultaterne, kan du skrive $row->antal;

Et (utestet) eksempel:

while($row = msql_fetch_object($Result)) {
echo $row->url;
echo $row->antal;
}

--
mvh
Thomas Jensen

Kim Emax - ayianapa.~ (05-12-2001)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 05-12-01 22:02


"Thomas Jensen" <thomasNO@SPAM.obscure.dk> skrev

> Det betyder at output kolonnen får navnet "antal".

og du kan herefter sorter, hvis du ønsker det ved at tilføje "order by
antal" til sidst i din statement

--
Take Care
Kim Emax
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



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

Månedens bedste
Årets bedste
Sidste års bedste