Avatar billede dd-man Nybegynder
07. januar 2003 - 11:58 Der er 12 kommentarer og
1 løsning

Hjælp med at lave en søgning i flere databaser.

Hejsa.

Jeg har et problem, kan ikke helt få det til at virke, som jeg vil, og er derfor gået over til at bruge Eksperten.dk

Jeg skal lave en søgning, som viser nogle resultater... det er som sådan fint nok, men jeg skal også vise hvilket "amt" resultaterne er i, og det gør jeg ved at gå baglæns i databasen...

Men jeg får ikke fat i noget, og der kommer ingen fejl. Jeg ved ikke helt hvad der er galt med det.

Jeg har så fået fortalt man skal bruge noget med INNER JOIN, som jeg ikke har lært så meget om endnu, men skulle vidst bruge:

    $hentamtnunu = mysql_query("SELECT m.branche,p.postnr,k.kommune,a.amt FROM medlemmer m
        INNER JOIN postnr p ON m.postnr = p.postnr
        INNER JOIN kommune k ON p.kommuneID = k.kommuneID
        INNER JOIN amter a ON k.amtID = a.amtID
        WHERE branche = '$branche'");

$visamter = mysql_fetch_array($hentamtnunu);

print $visamter; //denne variabel udskriver intet

Håber nogen forstår den mysqlsætning, fordi jeg kan ikke få den til at virke.

Eller hvis nogen har ICQ til at hjælpe med at få den til at virke forholdsvist hurtigt, så kan måske godt betale rigtige penge for det.

på forhånd tak
Avatar billede dgivoni Nybegynder
07. januar 2003 - 12:04 #1
hvilken fejlmeddelelse faar du?
Avatar billede dgivoni Nybegynder
07. januar 2003 - 12:05 #2
ok, genlaest kan jeg se at du bare ingen resultater faar.
Er du sikker paa at der er resultater i databasen paa det du soeger efter?
Avatar billede dgivoni Nybegynder
07. januar 2003 - 12:07 #3
du skal taenke paa, at naar du bruge inner join, saa giver den kun resultat, der hvor der rent faktisk eksisterer relaterede data i begge tabeller, der joines. Dvs. hvis du har medlemmer, som ikke har et postnummer i databasen, saa kommer de ikke med.
Avatar billede dd-man Nybegynder
07. januar 2003 - 12:30 #4
Ja, men de har post nr
Avatar billede dd-man Nybegynder
07. januar 2003 - 12:32 #5
dgivoni : har du ICQ?
Avatar billede dgivoni Nybegynder
07. januar 2003 - 12:43 #6
ja, 6093683
Avatar billede fri-hash Nybegynder
07. januar 2003 - 13:01 #7
prøv at udskriv eventuelle fejlmeddelelser vha. mysql_error(),

eks:

$hentamtnunu = mysql_query(SELECT...) or die(mysql_error());
Avatar billede dd-man Nybegynder
07. januar 2003 - 13:23 #8
Det hjalp ikke, det har jeg prøvet.
Avatar billede dd-man Nybegynder
07. januar 2003 - 14:01 #9
Det er lavet nu, dqivoni hjalp.

Det skulle laves til:
        $hentamtnunu = mysql_query("SELECT m.branche,p.postnr,k.kommune,a.amt FROM medlemmer m
            LEFT JOIN postnr p ON m.postnr = p.postnr
            LEFT JOIN kommune k ON p.kommuneID = k.kommuneID
            LEFT JOIN amter a ON k.amtID = a.amtID
            WHERE branche = '$branche' AND amtID = $amt");
Avatar billede dgivoni Nybegynder
07. januar 2003 - 14:02 #10
jeg har hjulpet pr. ICQ og vha. af et par left joins fandt vi ud af at der manglede en relation mellem postnr og kommune...
Avatar billede dgivoni Nybegynder
07. januar 2003 - 14:03 #11
egentlig kan du godt aendre den til inner join igen, hvis du kun vil have resultater som har et postnummer, kommune og et amt.
Avatar billede dd-man Nybegynder
07. januar 2003 - 14:15 #12
Okay, tak
Avatar billede Slettet bruger
05. januar 2005 - 20:01 #13
dd-man kan jeg få en dump af de 3 tabeller (postnr, kommune, amter) ?, du får 100 point for det
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