Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 11:47 Der er 15 kommentarer og
1 løsning

inner join.

Hej allesammen.

Skal bruge en sql sætning der finder nogle værdiere udfra at navnet og en uge dato.
Og plusse det felt som hedder indkort.

Eks:
$navn = "martin,jørgen,klaus";
$uge = "22,32,42";

Så skal den finde indkort i hver uge for hver chaffør og udskrive.

Forstår i ?

Kan det ikke gøres med inner join ?

På forhånd tak
Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 11:47 #1
Så skal den finde indkort i hver uge for hver chaffør og plusse. *
Avatar billede Slettet bruger
28. august 2006 - 12:03 #2
Forstår ikke lige dit spørgsmål.
Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 12:09 #3
Okay så prøver jeg igen.

Har denne tabel :

id  navn    uge    indkort
0  Martin  33/34  3053
1  klaus  33/34  4032
2  Jørgen  33/34  2200
3  Martin  35/37  2230
4  Klaus  35/37  2450
5  Jørgen  35/37  3400

Dette er bare et eksempel.
Så har jeg et while som skal finde alle de poster med Martin i uge 33/34 og 35/37.
Og plusse indkort. I martins eksempel 3053+2230.

Forstår du mig bedre nu ?
Avatar billede barklund Nybegynder
28. august 2006 - 12:26 #4
Altså:

$navn = "jørgen";
$uger = array("34","35","36");

mysql_query("SELECT SUM(indkort) FROM tabel WHERE navn = '$navn' AND uge IN ('".implode("','",$uger).,"')");

Eller har jeg misforstået?

--
Morten Barklund
Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 12:49 #5
barklund. Det kunne faktisk godt ske..

Vil lige prøve.
Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 12:56 #6
Det virker ikke helt :
$cha = "2";
$uger = array("5","7");

mysql_query("SELECT SUM(indkort) FROM vogn_uge WHERE cha_id = '$cha' AND startuge IN ('".implode("','",$uger).,"')");

Giver :
Parse error: parse error, unexpected ',' in /home/www/web82/html/madsen/far/test2.php on line 9
Avatar billede barklund Nybegynder
28. august 2006 - 13:09 #7
Der er et komma for meget:

mysql_query("SELECT SUM(indkort) FROM vogn_uge WHERE cha_id = '$cha' AND startuge IN ('".implode("','",$uger)."')");

Det tror jeg er bedre :)
Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 13:10 #8
Super.. Hvordan udskriver jeg det så ? :D
Avatar billede barklund Nybegynder
28. august 2006 - 13:16 #9
Du henter resultatet ud af din query? Som med alle andre query?

$res = mysql_query("SELECT SUM(indkort) FROM vogn_uge WHERE cha_id = '$cha' AND startuge IN ('".implode("','",$uger)."')") or die("Mysql-fejl: ".mysql_error());
print "Samlet timetal for ".$cha." i uge ".implode(" og ",$uger)." er: ".mysql_result($res, 0);

--
Morten Barklund
Avatar billede Slettet bruger
28. august 2006 - 13:21 #10
Jeg ville under alle omstændiger i dit array lave det som tal og ikke som en streng.
Selvom PHP er mere eller mindre ligeglad i dette eksempel.

$uger = array("5","7");
->
$uger = array(5, 7);
Avatar billede barklund Nybegynder
28. august 2006 - 13:30 #11
coldgate: i det aktuelle eksempel stod ugenumrene i databasen til at hedde fx "34/35", hvorfor jeg tænkte, at hvis jeg lavede det som en streng nu, så ville det være nemmest at implementere i den "rigtige" tabel med rigtige data :)

Derudover kan jeg dog ikke se noget som helst argument for at lave det som et tal. Der skal ikke regnes på det på nogen måde anyways, så hvis det laves som et tal, skal det tværtimod konverteres til en streng, når det skal ind i strengen.
Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 15:02 #12
Super takker .Svar og pointsne er dine :D
Avatar billede barklund Nybegynder
28. august 2006 - 15:08 #13
No problem ;)
Avatar billede barklund Nybegynder
28. august 2006 - 15:08 #14
Eller, det var tilsyneladende lidt et problem :)
Avatar billede rasmus-madsen Nybegynder
28. august 2006 - 16:08 #15
hehe :D ..
Avatar billede barklund Nybegynder
28. august 2006 - 17:03 #16
Tark for points :)
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