Avatar billede kodak Mester
03. december 2012 - 22:08 Der er 14 kommentarer og
1 løsning

sorter efter flest match

Jeg har følgendene db

id|navn|mulige|time
___________________
1|Jens|1 23 6 9 3|xxxxxxxxxx
2|Poul|10 4 8 2 7|xxxxxxxxxx
3|Bent|1 4 83 9 3|xxxxxxxxxx
4|Thor|11 8 6 7 3|xxxxxxxxxx


Jeg laver en søgning
$search = '8 10 11 9 2 7 6 4';

Der skal søges blandt flest match i 'mulige'
Derfor skal den vise navnene i følgendene rækkefølge

2|Poul|10 4 8 2 7|xxxxxxxxxx 8 10      2 7  4 = "5 match"
1|Jens|1 23 6 9 3|xxxxxxxxxx 8      9    6  = "3 match"
4|Thor|11 8 6 7 3|xxxxxxxxxx 8          7 6  = "3 match"
3|Bent|1 5 83 9 3|xxxxxxxxxx      11 9      4 = "2 match"

Fordi den skal sortere efter flest match
Avatar billede arne_v Ekspert
04. december 2012 - 02:02 #1
Forkert database struktur.

Du skal have en ekstra tabel med en raekke for hver vaerdi ikke en enkelt vaerdi med tal adskilt af mellemrum.
Avatar billede showsource Seniormester
04. december 2012 - 18:50 #2
Nåh, kunne ikke se arne_v's kommentar før efter login ?

Men helt enig !
Avatar billede kodak Mester
04. december 2012 - 19:09 #3
Tallene kan variere fra person til person
jeg ikke lave en tabel for hvert tal da der kan være over 100 forskellige tal per person,
Og over 5000 Tal muligheder
så den bliver udlæst med explode(' ', $mulige);
Avatar billede arne_v Ekspert
04. december 2012 - 19:32 #4
Der skal ikke laves en tabel for hvert tal.

Kun en tabel mere med en raekke per person-tal kombination.
Avatar billede kodak Mester
04. december 2012 - 19:41 #5
Ikke forstået
kan du ikke lige sætte eksempel op.
Avatar billede arne_v Ekspert
04. december 2012 - 19:47 #6
de to foerste fra dit eget eksempel

id tal
1 1
1 23
1 6
1 9
1 3
2 10
2 4
2 8
2 2
2 7
Avatar billede kodak Mester
04. december 2012 - 20:54 #7
Antallet er ikke fast
det kan også se ud på følgendene måde

2|Poul|10 4 8 2 7 84 259 1 17 55|xxxxxxxxxx
1|Jens|1 23 6 9 3|xxxxxxxxxx
4|Thor|11 8 6 7 3 192 9 24 29 47 38 88 94|xxxxxxxxxx
3|Bent|1 5 83 9 3|xxxxxxxxxx

Som sagt antallet at der kan være over 100 forskellige tal per person.
derfor valgte jeg at gøre det så ledes.
Avatar billede arne_v Ekspert
04. december 2012 - 20:57 #8
og?

der er ikke noget som forhindrer dig i at have et forskelligt antal raekker per person i den anden tabel!
Avatar billede kodak Mester
04. december 2012 - 21:02 #9
Kan det så ikke lade sig gøre med min explode?
Avatar billede kodak Mester
04. december 2012 - 21:06 #10
Måske noget der starter således:

$numbers = explode(' ', $mulige);
foreach ($numbers as $num) {
Avatar billede kodak Mester
04. december 2012 - 21:35 #11
Eller har fundet

$numbers = '1 23 6 9 3';
$search = '8 10 11 9 2 7 6 4';

$num = explode(' ', $numbers);
$sear = explode(' ', $search);

$result = array_intersect($num, $sear);
print_r($result);
Avatar billede kodak Mester
04. december 2012 - 21:39 #12
Ja der var det jeg søgte.

Men tak for hjælpen og vil bruge dit til næstegang
det vil gøre det meget nemmere for mig,
så derfor send svar for point.
Avatar billede kodak Mester
04. december 2012 - 22:25 #13
Jeg har smidt det ind i en while

Kan du fortælle mig hvordan jeg undgår:

Warning: mysql_fetch_array() expects parameter 1 to be resource array given in
Avatar billede kodak Mester
04. december 2012 - 23:04 #14
Sorry for hurtig
Lavede den i en funktion.
Avatar billede arne_v Ekspert
06. december 2012 - 02:37 #15
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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