Avatar billede weisel Nybegynder
18. december 2009 - 11:09 Der er 4 kommentarer og
1 løsning

MYSQL - Array - PHP

Hej

Jeg har et mindre problem, jeg kan ikke finde ud af at trække et array fra MySQL sådan at jeg kan f.eks. kalde : myarray[1] og få nr 2 i kolonnen i min sql query.

Min kode ser følgende ud :

$result = mysql_query("SELECT TIMEDIFF( TIME($leaving.dp_ltime ) , TIME($meeting.dp_mtime ) )
FROM $leaving, $meeting WHERE $meeting.P_Id = $leaving.P_Id"); 

Dette skal ned i et array som jeg kan bruge i PHP, sådan at jeg kan regne tidforskellen mellem et mødttidspunkt og et gået tidspunkt.  :)

dvs. jeg ville feks. kunne sige

mitarray[0] + mitarray[1] = 16timer.

og eventuelt en metode til at lægge alle tal i kollonen jeg får ud sammen ?

Håber i kan hjælpe mig

mvh Benjamin
18. december 2009 - 21:54 #1
weisel, jeg haaber jeg har forstaaet dig rigtigt.  Du har tabeller med dato-tid vaerdier for en antal P_Id'er (for eksempel ansatte i en virksomhed) og du vil for hver P_Ip slaa forskellen mellem tidspunkterne op i en $myarray[].

Jeg lavede en databasetabel weiselaaa med den foelgende struktur og indhold:

P_Id  dp_Itime 
svensen 2009-12-18 10:32:53
jensen 2009-12-18 11:35:43
laursen 2009-12-18 12:22:13
hansen 2009-12-18 13:59:07

og nok en tabel weiselbbb med den foelgende struktuur og indhold:

P_Id  dp_mtime 
svensen 2009-12-18 17:28:12
jensen 2009-12-18 17:28:12
laursen 2009-12-18 17:28:12
hansen 2009-12-18 17:28:12

Saa udbyggede jeg din kode saaledes:


$leaving = "weiselbbb";
$meeting = "weiselaaa";
$result = mysql_query("SELECT TIMEDIFF($leaving.dp_mtime, $meeting.dp_Itime) AS timedif
FROM $leaving, $meeting
WHERE $leaving.P_Id = $meeting.P_Id") or die(mysql_error());
while($row = mysql_fetch_array($result))
{
  $myarray[] = $row['timedif'];
}
foreach($myarray as $value)
echo $value . "<br/>";

og det gav det foelgende resultat:

06:55:19
05:52:29
05:05:59
03:29:05

Altsaa, for hver af de fire P_Id'er kommer der en vaerdi i arrayen $myarray[].  De vaerdier kan du saa bruge til hvad du vil.  Jeg printede dem ud for at kunne se om vaerdierne svarede til det forventede.

Var det det du var ude efter?
Avatar billede weisel Nybegynder
20. december 2009 - 12:56 #2
Hej Christian , super mange tak for du svarede på mit indlæg, Jeg vil afprøve dette i dag og give dig points hvis det hjælper :)
Avatar billede weisel Nybegynder
20. december 2009 - 18:36 #3
hej christian, super tak for hjælpen det funker nu :) !
Avatar billede weisel Nybegynder
27. december 2009 - 15:21 #4
hvordan lukker jeg indlægget ?
27. december 2009 - 15:43 #5
Man lukker et spoergsmaal man har oprettet ved at akseptere svar. For dette spoergsmaal var der er svar du kunne godkende, saa du klikkede i feltet "accepter" og derefter i det felt der poppede op.  Hvis du har et spoergsmaal hvor du har faaet brugbare kommentarer kan du den der har lavet kommentaren om at oprette et svar som du derefter kan aksepterer.  Hvis til et spoergsmaal der ikke er kommet nogen brugbare indlaeg (eller slet ingen indlaeg) maa du selv oprette et svar og akseptere det.  (Det sidste lyder lidt krikket, men saadan er det nu sat op.)

Proceduren staar beskrevet under FAQ.  Her er det relevante afsnit:

Hvordan lukker man sit spørgsmål?

Et spørgsmål er lukket når der er lagt et svar, som er blevet accepteret af vedkommende som oprettede spørgsmålet. Hvis du har et spørgsmål hvor ingen af svarene kunne bruges, kan du selv lægge et svar og acceptere dette.

Husk at hvis du selv fandt en løsning, så skriv den endelig som svar da andre kan have glæde af den i fremtiden! Samtidig viser du de brugere, som har brugt tid på dit spørgsmål, at du selv fandt en mere velegnet løsning.
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
Computerworld tilbyder specialiserede kurser i database-management

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