Avatar billede -kenner- Nybegynder
05. marts 2009 - 11:38 Der er 3 kommentarer og
1 løsning

tælle rækker hvor en string indgår i et felts værdi

Hej eksperter,

Jeg har siddet og bladret i string functions for MySQL, men jeg kan umiddelbart ikke se hvilken funktion jeg skal bruge for at løse mit problem.

$domain = "mitdomæne.dk"

Jeg vil gerne tælle alle de rækker, hvor mitdomæne.dk. er en del af værdien i feltet 'Reference'.

altså skal den bl.a. fange følgende værdier:
http://mitdomæne.dk/side.php
http://mitdomæne.dk/kontakt.php?ID=1241
http://www.mitdomæne.dk/
Avatar billede -kenner- Nybegynder
05. marts 2009 - 12:01 #1
Jeg har fået konstrueret følgende kode:

$Referencer = mysql_fetch_assoc(mysql_query("select COUNT(*) as antal from Statistik where REPLACE(SUBSTRING_INDEX(Side,'/', '3'),'www.', '') = '".$Site."' AND Reference LIKE '%$match[2]%'"));

Vil LIKE fungere hvis URL'erne bliver meget lange?
Avatar billede j4k0b Nybegynder
05. marts 2009 - 12:11 #2
Med LIKE kan du bruge wildcards på indeholdet af feltet du søger på. Din SQL ville kunne forkortes til noget ligende:

SELECT COUNT(*) as antal
FROM Statistik
WHERE Reference LIKE '%mitdomæne.dk%'


Med LIKE kan du søge uendeligt lange tekster igennem, det tager bare længere tid jo større/flere tekster der er at søge i. En god og vejledende regel ang. LIKE: Benyt det kun hvis tabellen du søger igennem indeholder MINDRE end 8000-10000 entries. Ellers kommer det til at tage alt for langt tid.
Avatar billede -kenner- Nybegynder
05. marts 2009 - 13:43 #3
fair, send svar:)
Avatar billede j4k0b Nybegynder
05. marts 2009 - 13:53 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester