Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

[PHP+MySQL] Database importeren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb enkele jaren geleden een systeem gemaakt binnen de zwemvereniging waar de uitslag kon worden ge-importeerd naar een mysql database. Vervolgens konden de zwemmers dan zelf hun eigen zwemtijden en grafieken met hunt tijden bekijken.

Dit was toendertijd een dbf database van Visual FoxPro. Dit werkte toen allemaal prima en het systeem was klaar voor gebruik. Dit was dus allemaal voor het WAS systeem dat toendertijd de uitslagen verzorgde.

Toen we op het punt stonden dit systeem in gebruik te gaan nemen heeft de KNZB besloten dat alle verenigingen op een ander type database (en software) moesten overstappen. Momenteel gebruiken we nu het Splash programma dat gebruikt maakt van een LXF database. Dit is een database waar weinig over te vinden is.

De uitslagen krijgen we in principe een LXF aangeleverd wat gelijk staat aan een zip bestand met een LEF bestand er in. Het LEF bestand heb ik dus nodig omdat dit de database is. Deze database is gebaseerd op XML.

Ik heb op internet gezocht en ook al op de bijbehorende site navraag gedaan maar hier krijg ik helaas geen reactie op. Deze website is: http://www.phpclasses.org/browse/package/3079.html

Wat ik met de database wil gaan doen is dat hij eerst kan worden ge-upload, het lef bestand uit het lxf bestand gehaald en tot slot de uitslag in een MySQL database plaatsen.

Ik snap helaas niet goed hoe dit werkt. Wil iemand mij hierbij helpen? Ik heb de rest van het systeem namelijk al bijna helemaal omgebouwd en gemoderniseerd.

Alvast bedankt voor de moeite!

Karsten,
P.s. op http://members.home.nl/pc-freak/zwemmen/database/ staat een voorbeeld database. Hier staat het orginele LXF bestand en het LEF bestand dat met winrar uit het LXF bestand is gehaald.

  • Noork
  • Registratie: Juni 2001
  • Niet online
Het is idd gewoon XML, dus met een custom XML parser zou je een eind kunnen komen. Voor zover ik weet zit er in PHP 5 een XML parser (SimpleXML) waarmee je de file uit kan lezen. Uiteraard moet je wel zelf knutselen.

Lijkt me dat het handig is wanneer je je hierin even verdiept, en dat je dan eventueel later met concretere vragen hier komt.

[ Voor 9% gewijzigd door Noork op 26-08-2008 19:46 ]


Verwijderd

Topicstarter
Hallo,

Het probleem is dat ik wel systemen heb gevonden voor xml naar mysql om te zetten, alleen is het hier veel moeilijker. Hier moet ik b.v. als ik bij de een het id van de zwemmer aangewezen krijg moet ik op een andere plaats in het document weer het startnummer er uit halen. ook zijn er blokken zoals:

code:
1
<SPLIT distance="50" swimtime="00:00:35.34" />


Ik weet ook niet goed hoe ik hiermee om moet gaan.

Ik weet eerlijk gezegd niet waar ik ergens hieraan moet beginnen.

  • paulh
  • Registratie: Juli 1999
  • Laatst online: 10-11 10:50
Die split blocken zijn gewoon de tussentijden op een bepaalde afstand. Dus ik zie niet wat daar nou zo speciaal aan is.

De XML ziet er verder best leesbaar uit. Zo moeilijk moet het niet zijn dit naar een database toe te poepen. Je zal de tabellen denk ik wel zelf moeten bedenken. Ik zie het probleem eigenlijk niet zo.

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


  • Peedy
  • Registratie: Februari 2002
  • Laatst online: 06-11-2024
Zo te zien kan je de source van die LeNeX2 reader die op phpclasses staat vrij makkelijk aanpassen. Deze class is namelijk een reader; het enige wat jij nog hoeft te doen is de tabellen in MySQL er bij bedenken en de queries er in zetten.

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op dinsdag 26 augustus 2008 @ 20:32:
Hier moet ik b.v. als ik bij de een het id van de zwemmer aangewezen krijg moet ik op een andere plaats in het document weer het startnummer er uit halen.
Ja, we hebben een redelijk genormaliseerd bestand, laten we dit weer gaan denormaliseren om het in een rationele database op te slaan...

Oftewel, als ik het goed begrijp klopt de xml en is deze makkelijk in een dbase te verwerken.

Een zwemmer entiteit heeft waarschijnlijk een 1:n relatie tot de startnummers bij wedstrijden, zo staat het in de xml genoemd en zo zou ik het ook in de dbase gooien...

Verwijderd

Topicstarter
Gomez12 schreef op dinsdag 26 augustus 2008 @ 22:07:
[...]

Ja, we hebben een redelijk genormaliseerd bestand, laten we dit weer gaan denormaliseren om het in een rationele database op te slaan...

Oftewel, als ik het goed begrijp klopt de xml en is deze makkelijk in een dbase te verwerken.

Een zwemmer entiteit heeft waarschijnlijk een 1:n relatie tot de startnummers bij wedstrijden, zo staat het in de xml genoemd en zo zou ik het ook in de dbase gooien...
Wat bedoel je hiermee precies? Als je hiermee het startnummer bedoelt is dit inderdaad het enige ding wat uniek is binnen alle verschillende uitslagen. Ik was inderdaad vergeten te vertellen dat ik het startnummer gebruik om de uitslag aan een zwemmer te koppelen.

Binnen het systeem zijn de volgende tabellen (reeds mysql) van toepassing:

Gebruikers:
  • ID -> Uniek nummer binnen het systeem
  • naam -> De volledige naam van de zwemmer
  • Startnummer -> Dit is het unieke nummer waarmee een zwemmer aan zijn uitslagen kan worden gekoppeld.
Uitslagen:
  • ID -> Uniek nummer binnen het systeem
  • Datum -> Datum waarop de wedstrijd is gezwommen
  • Wedstrijd -> De naam van de wedstrijd
  • Plaats -> De plaats van de wedstrijd
  • Zwemslag -> De zwemslag
  • Afstand -> De afstand in meters
  • Lengte -> Lengte van bad (25 of 50 meter)
  • Tijd -> De tijd die hierop gezwommen is
  • Tussentijd -> Ja of nee (of het een tussentijd betreft)
  • Diskwalificatie -> Eventueel of er een diskwalificatie van toepassing is
De tussentijd is niet perse nodig.

Helaas snap ik niet geheel hoe ik die het beste kan aanpakken, ik heb namelijk nog niet zo veel ervaring op dit gebied. Daarom snap ik ook niet hoe ik dit doormiddel van die classes kan doen.

Hopelijk kan iemand mij goed op weg helpen.

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
[quote]Verwijderd schreef op dinsdag 26 augustus 2008 @ 22:57:
[...]


Wat bedoel je hiermee precies? Als je hiermee het startnummer bedoelt is dit inderdaad het enige ding wat uniek is binnen alle verschillende uitslagen. Ik was inderdaad vergeten te vertellen dat ik het startnummer gebruik om de uitslag aan een zwemmer te koppelen.

Binnen het systeem zijn de volgende tabellen (reeds mysql) van toepassing:
Gebruikers:
  • ID -> Uniek nummer binnen het systeem
  • naam -> De volledige naam van de zwemmer
  • Startnummer -> Dit is het unieke nummer waarmee een zwemmer aan zijn uitslagen kan worden gekoppeld.
Deze snap ik dus al niet, id snap ik, naam snap ik, maar startnummer heeft toch alleen iets met 1 wedstrijd te maken? Of hooguit 1 ploeg?
Lijkt me een beetje vreemd als er in 1 wedstrijd meerdere mensen zijn met startnr 1. Volgens mij moet dit dus ook helemaal niet in de gebruikers tabel zitten, maar eerder in de wedstrijdentabel.
Uitslagen:
  • ID -> Uniek nummer binnen het systeem
  • Datum -> Datum waarop de wedstrijd is gezwommen
  • Wedstrijd -> De naam van de wedstrijd
  • Plaats -> De plaats van de wedstrijd
  • Zwemslag -> De zwemslag
  • Afstand -> De afstand in meters
  • Lengte -> Lengte van bad (25 of 50 meter)
  • Tijd -> De tijd die hierop gezwommen is
  • Tussentijd -> Ja of nee (of het een tussentijd betreft)
  • Diskwalificatie -> Eventueel of er een diskwalificatie van toepassing is
De tussentijd is niet perse nodig.
Persoonlijk zou ik een extra tabel zwembaden maken, waarbij je wedstrijden hebt die door gebruikers in zwembaden gedaan worden. Het is geen excel waarbij je alles achter moet zetten, het is een dbase.
Helaas snap ik niet geheel hoe ik die het beste kan aanpakken, ik heb namelijk nog niet zo veel ervaring op dit gebied. Daarom snap ik ook niet hoe ik dit doormiddel van die classes kan doen.

Hopelijk kan iemand mij goed op weg helpen.
Lees gewoon eens wat info door over objecten, wat dit zijn en hoe je deze kunt verwerken binnen php en dan hoe je ze kan wegschrijven in mysql. Als ik de classe-namen zo zie doet deze al het zware werk. Het enige wat jij nog hoeft te doen is gegevens uit je objecten selecteren en deze opslaan...

Verwijderd

Topicstarter
Volgens mij is er wat onduidelijkheid over de startnummers. In principe krijgt iedere zwemmer door de KNZB (zwembond) een persoonlijkstartnummer toegewezen. Dit nummer blijft altijd aan deze persoon verbonden en wordt gebruikt bij alle officiele wedstrijden. Het makkelijkste voor alles terug te halen achteraf is dus om alle records uit de database te laten zien waarin het startnummer hetzelfde is als van de persoon die wordt opgevraagd.

Kortom, een startnummer is uniek per persoon en blijft op iedere wedstrijden ieder jaar geldig en veranderd dus nooit.

Verder wil ik nog even vragen of iemand mij een beetje op weg kan helpen met wat informatie over welke functies ik nodig heb hiervoor en eventuele sites waar goede informatie staat over die objecten, want ik neem aan dat dit iets met xml te maken moet hebben? Dus ik weet niet wat ik dan het beste voor iets kan bekijken.

  • Noork
  • Registratie: Juni 2001
  • Niet online
Verwijderd schreef op woensdag 27 augustus 2008 @ 01:04:
Verder wil ik nog even vragen of iemand mij een beetje op weg kan helpen met wat informatie over welke functies ik nodig heb hiervoor en eventuele sites waar goede informatie staat over die objecten, want ik neem aan dat dit iets met xml te maken moet hebben? Dus ik weet niet wat ik dan het beste voor iets kan bekijken.
Zie mijn eerdere post. In PHP heb je o.a. de SimpleXML functies (maar ook DOM XML, XMLreader) om een XML bestand te parsen. Je kan ook een losse class gebruiken zoals PHP.Xpath o.i.d. Welke XML reader/parser je gebruikt is redelijk afhankelijk van je persoonlijke voorkeur. Als je eenmaal de data hebt geselecteerd die je nodig hebt, dan kun je dit redelijk eenvoudig omzetten naar insert statements.

Zie voor parsen b.v.:
\[PHP/XML] Uitlezen attribute
[PHP] Probleem met attribuut uitlezen uit XML mbv SimpleXML
en zo zijn er nog tig topics op Got en overige handleidingen op internet

Verwijderd

Topicstarter
Hallo,

Ik ben wat aan het knutselen gegaan met SimpleXML.
Ik heb ook wat informatie van de site van php afgehaald.

Inmiddels kan ik een simpel bestand inladen en hier gegevens uit op halen en laten zien.
Alleen het probleem is dat dit bestand een stuk groter is en ook moeilijker is omdat hier sommige dingen specifieker moeten worden uitgevoerd.

Heeft iemand misschien wat voorbeelden of tutorials hoe ik het onderstaande gedaan krijg.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<1>
   <2>
      <3>
         <item startnummer="9012345" naam="Dummy">
             <record style="freestyle" distance="50">
                 <time endtime="0.27.89" />
             </record>
             <record style="butterfly" distance="100">
                 <time endtime="1.26.35" />
         </item>
         <item startnummer="8912345" naam="Bert">
              <record style="freestyle" distance="50">
                  <time endtime="0.26.38" />
              </record>
         </item>
       </3>
   </2>
</1>


Het is de bedoeling dat ik van het voorbeeld (niet exact hetzelfde) de volgende waarden overhoud:
startnummer | style | distance | endtime
Dit zijn straks namelijk de waarden die verwerkt moeten worden. Het probleem is nu dat ik niet weet hoe ik deze gegevens er telkens weer moet uithalen oftewel, wat moet ik doen voor dit steeds te herhalen tot aan het einde van het bestand en wat moet ik doen als hij bij de volgende zwemmer (item) aankomt.

Het navigeren snap ik nog wel, maar de rest snap ik niet echt. Daarom wil ik vragen of hier iemand specifiekere voorbeelden of tutorials voor weet. De basis heb ik wel al goed bekeken.

  • Noork
  • Registratie: Juni 2001
  • Niet online
Wat heb je zelf dan al geprobeerd? Ik ben even een kwartiertje voor je bezig geweest, en echt moeilijk lijkt me het niet. Je xml voorbeeld is trouwens niet correct. Ik heb <1> vervangen door <t1> enzovoorts.

Zie mijn uitgewerkte voorbeeld. Het kan natuurlijk handiger, sneller, netter etc als je er functies van maakt.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
//xml openen en inlezen met load_file
$url = "xml.xml";
$xml = simplexml_load_file($url);

foreach ($xml->t2->t3->item as $item) {
    echo "Naam: ".$item['naam'];
    echo " Startnummer: ".$item['startnummer'];
    echo "<br/>";
    
    foreach ($item->record as $record) {
        echo "Stijl: ".$record['style'];
        echo " Afstand: ".$record['distance'];
        echo "<br/>";
    
        foreach ($record->time as $time) {
            echo "Eindtijd: ".$time['endtime'];
            echo "<br/>";
            //maak hier je insert statement
            $sql[] = "insert into.....".$record['style']."...blabla.... where startnummer=".$item['startnummer'];
        }
    }
    echo "<br/>";
}

if($sql) {
    //doe hier iets met je sql statements
    print_r($sql);
}
?>

Verwijderd

Topicstarter
Bedankt voor dit script!

Ik ben hiermee aan de slag gegaan en ben al best ver gekomen.
Alleen loop ik nu tegen een probleem aan dat in de echte uitslag niet het volgende staat:
code:
1
2
3
<record style="freestyle" distance="50">
     <time endtime="0.27.89" />
</record>


Maar dit:
code:
1
2
3
<record progid="1742">
     <time endtime="0.27.89" />
</record>


Dat wil zeggen dat in het "uitslagitem" alleen maar het id van het programma wordt genoemd.
Het programma staat bovenaan in het document. Nu snap ik wel hoe ik hier de gegevens uit moet halen en hoe ik hier moet komen, alleen is het probleem om de juiste te selecteren.

Kortom, ik moet dus het onderstaande uitvoeren (MySQL voorbeeld), maar dan met de xml.
code:
1
SELECT * FROM programma WHERE progid='1742'


Die 1742 is dan een php variabele, b.v. $progid

Weet iemand hoe ik dit aan moet pakken?

  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 11-11 11:41
Als je wat verder zoekt naar de bron van dit systeem, kom je via GeoLogix en swimrankings bij dit terecht: http://www.swimrankings.net/?page=lenex , zo te zien de volledige specificatie van jouw XML bestanden. Misschien heb je daar wat aan.

Jouw progid probleem hierboven kan op een aantal manieren:
- het simplexml object dat je hebt kan je altijd opnieuw doorlopen totdat je de juiste progid tegenkomt. (maar dat is niet erg efficient)
- van elk 'object' dat je in de XML tegenkomt ook een object in PHP bouwen.
- met een echte XML parser aan de slag gaan zodat je XPath / XQuery kan toepassen.

Maar waarom gebruik je die complete parser van de Lenex2 package niet? Wat is er mis mee? Volgens mij kan je beter dat leren gebruiken ipv het wiel opnieuw uit te vinden? Zo te zien zit daar alles al in, inclusief een voorbeeld. De stap naar MySQL vanuit die objecten lijkt me dan een stuk eenvoudiger.

Als toevoeging: iets als progid en een object voor een 'programma' staat (nog) niet in de documentatie en zal waarschijnlijk ook niet in de Lenex2 package zitten. Dit zou je dan zelf moeten begrijpen/uitwerken/toevoegen.

ook leuk: als de KNZB dit formaat voorschrijft, moeten zij dan ook niet ervoor zorgen dat er toegang is tot volledige en up-to-date documentatie? Of gaat het echt niet verder dan "koop de Splash software maar"? :X

[ Voor 20% gewijzigd door Cascade op 30-08-2008 19:12 ]


Verwijderd

Topicstarter
Allereerst bedankt voor de reactie, die links staat als het goed is ook al bovenin mijn eerste post, dit had ik inderdaad al eerder bekeken, maar ik ben helaas nog niet erg bekend met de combinatie van php + xml.

Dat 2e stuk snap ik de 2e en 3e niet precies van, het eerste dat snap ik wel, dit is inderdaad wat zwaarder, maar dit is geen ramp omdat dit script maar enkele malen gebruikt moeten worden.

De complete parser gebruiken heb ik niet gedaan om 2 redenen, allereerst zit hier erg veel in dat ik niet nodig heb, en bovendien is het script wat ik nu aan het maken ben niet extreem groot. Bovendien krijg ik zo zelf ook wat ervaring met de combinatie php + xml dat altijd wel eens van pas kan komen.

Maar wat ik bedoel is hoe kan ik de waarden ophalen uit een "regel" waar een bepaalde waarde een bepaald gegevens heeft.

Hieronder staat wat ik tot nu toe in elkaar heb gezet. Hij zet nog niks in de database omdat ik eerst de rest in orde wil hebben. Hij loopt in principe door de gehele uitslag, maar hij voert uiteindelijk alleen iets uit als het startnummer overeenkomt met een startnummer uit de zwemmers database.
Dat laatste wat je nog had toegevoegd over de KNZB, daar is het antwoord redelijk simpel van, de KNZB heeft gewoon de LENEX standaard voorgeschreven en de verenigingen zijn verplicht deze te hanteren. Momenteel zijn er 2 programma's die hiermee kunnen werken. Dat is Splash en Hupsoft. Het oude programma (W.A.S.) dat bijna iedere vereniging gekocht had kon hierdoor plotseling niet meer gebruikt worden. De KNZB heeft verder ook hele support aan Splash overgelaten, dit is helaas niet wat de KNZB ooit heeft beloofd, kortom, de KNZB heeft nog net niet iedereen verplicht om Splash te gebruiken. Het liefst hadden ze dat ook nog gedaan.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?
require("config.php");
$url = "test.lef";
$xml = simplexml_load_file($url);
?>
<style type="text/css">
<!--
.style1 {
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-weight: bold;
}
-->
</style>

<form name="logfile" method="post" action="">
<p class="style1">Logfile:  </p>
<p>
<textarea name="logfile" id="logfile" cols="100" rows="20">
<?
foreach ($xml->MEETS->MEET->CLUBS->CLUB as $item) {

foreach ($item->ATHLETES as $item) {
foreach ($item->ATHLETE as $item) {
echo "
Naam: ".$item['firstname'];
echo "
Startnummer: ".$item['license'];
$startnummer = $item['license'];
echo "
";

foreach ($item->RESULTS as $item) {
foreach ($item->RESULT as $item) {
echo "Totale tijd: ".$item['swimtime'];
$eindtijd = $item['swimtime'];
echo "
";

$query = mysql_query("SELECT * FROM zwemmers WHERE startnummer = $startnummer");
$result = mysql_num_rows($query);

if(!$result){
// De zwemmer staat niet in de database en wordt dus niet verwerkt.
}
else{
echo "Uitslag wordt toegevoegd aan de database.....
";
}
}
}
}
echo "
";
}
}
?>
</textarea>
</p>
</form>
<?
echo "<b>De hele database is verwerkt.</b>";
?>

[ Voor 12% gewijzigd door Verwijderd op 30-08-2008 19:23 . Reden: toevoeging ]


  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 11-11 11:41
Als je op een regel een verwijzing naar andere informatie in het document hebt, kan je die informatie opnieuw opzoeken in de XML (XPath of XQuery gebruiken) OF opnieuw opzoeken in informatie die je al eerder opgeslagen hebt (objecten in PHP of in je database).

In jouw geval zou ik verder gaan met SimpleXML en leren hoe XPath werkt aangezien dit ook in SimpleXML zit: http://nl.php.net/manual/...mplexml-element-xpath.php.

Kom je daar niet uit dan is het alternatief om de structuur opnieuw te doorlopen en te kijken of je (even als voorbeeld) een PROGRAM entry tegenkomt met als attribute jouw gezochte progid.

Nog wat tips:
- gebruik niet dezelfde variabele $item in je foreach lussen, dit gaat zo gruwelijk fout. Elke foreach lus een eigen 'as' variabele geven.
- het veld 'license' hoeft niet uniek te zijn, alleen samen met de nationaliteit is deze uniek (zie de specs). Stel je hebt een keer een internationale wedstrijd, dan zou er nu een kans zijn dat het fout gaat, hoe klein die kans ook is.

Hoop dat je hier iets aan hebt.

Update:
Schijnt dat SimpleXML wat problemen heeft, attributes worden niet teruggegeven bij de xpath functie als ik het commentaar moet geloven. Als dat zo is heb je er niet veel aan...

Update 2:
Was toch nieuwsgierig of SimpleXML xpath normaal werkt, even getest, en werkt prima. Dus mijn advies: probeer het op die manier, bijvoorbeeld zo:
PHP:
1
2
3
4
5
$progid = '1234';
$xmlProgram = $xml->xpath( "//PROGRAM[@progid='$progid']" );
echo '<pre>';
print_r( $xmlProgram );
echo '</pre>';

[ Voor 17% gewijzigd door Cascade op 30-08-2008 21:32 ]


Verwijderd

Topicstarter
Allemaal harstikke bedankt voor de hulp!

Ik heb nu het hele script werkend gekregen.

Hieronder staat het script:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?
require("config.php");
$url = "test.lef";
$xml = simplexml_load_file($url);
?>
<style type="text/css">
<!--
.style1 {
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-weight: bold;
}
-->
</style>

<form name="logfile" method="post" action="">
<p class="style1">Logfile:  </p>
<p>
<textarea name="logfile" id="logfile" cols="100" rows="20">
<?
foreach ($xml->MEETS->MEET as $meet) {
echo "Locatie: ".$meet['city'];
$locatie = $meet['city'];
foreach ($xml->MEETS->MEET->SESSIONS->SESSION as $session) {
echo "
Datum: ".$session['date'];
$datum = $session['date'];
echo "
_______________
";
}
}

foreach ($xml->MEETS->MEET->CLUBS->CLUB as $club) {

foreach ($club->ATHLETES as $athletes) {
foreach ($athletes->ATHLETE as $athlete) {
echo "
Naam: ".$athlete['firstname'];
echo "
Startnummer: ".$athlete['license'];
$startnummer = $athlete['license'];
echo "
";

foreach ($athlete->RESULTS as $results) {
foreach ($results->RESULT as $result) {
echo "Totale tijd: ".$result['swimtime'];
$eindtijd = $result['swimtime'];
$progid = $result['eventid'];
echo "
";

$query = mysql_query("SELECT * FROM zwemmers WHERE startnummer = $startnummer");
$result = mysql_num_rows($query);

if(!$result){
// De zwemmer staat niet in de database en wordt dus niet verwerkt.
}
else{
foreach ($xml->xpath( "/LENEX/MEETS/MEET/SESSIONS/SESSION/EVENTS/EVENT[@eventid='$progid']" ) as $programma){
foreach ($programma->SWIMSTYLE as $swimstyle) {
echo "Zwemslag: ".$swimstyle['stroke'];
echo "
Afstand: ".$swimstyle['distance'];
$zwemslag = $swimstyle['stroke'];
$afstand = $swimstyle['distance'];
}
}

if ($swimstyle == "BACK") {
$swimstyle = "Rugcrawl";
}
if ($swimstyle == "BREAST") {
$swimstyle = "Schoolslag";
}
if ($swimstyle == "FLY") {
$swimstyle = "Vlinderslag";
}
if ($swimstyle == "FREE") {
$swimstyle = "Vrije slag";
}

mysql_query("INSERT INTO uitslagen (startnummer, locatie, datum, slag, afstand, tijd) VALUES ('".$startnummer."', '".$locatie."', '".$datum."', '".$zwemslag."', '".$afstand."', '".$eindtijd."')");

echo "
Uitslag is toegevoegd aan de database.....
";
}
}
}
}
echo "
";
}
}
?>
</textarea>
</p>
</form>
<?
echo "<b>De hele database is verwerkt.</b>";
?>
Pagina: 1