Ik heb onderstaande XML en PHP code. Nu wil ik de tabel lesson in MySQL plaatsen. Dit werkt goed. Verder wil ik in een aparte MySQL tabel time de XML gegevens van time plaatsen met het lesson id.
Alleen wordt er bij time alleen het eerste veld ingeladen, dus alleen de waardes van time die horen bij lesson id LS_1000. Daarna wordt er niks meer in de database geplaatst.
Weet iemand wat ik verkeerd doe?
Alleen wordt er bij time alleen het eerste veld ingeladen, dus alleen de waardes van time die horen bij lesson id LS_1000. Daarna wordt er niks meer in de database geplaatst.
Weet iemand wat ik verkeerd doe?
XML:
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
| - <lesson id="LS_1000"> <periods>2</periods> <lesson_subject id="SU_com" /> <lesson_teacher id="TR_hns" /> <lesson_classes id="CL_CMD1v1" /> - <times> - <time> <assigned_day>3</assigned_day> <assigned_period>8</assigned_period> <assigned_room id="RM_R1_020" /> </time> - <time> <assigned_day>3</assigned_day> <assigned_period>9</assigned_period> <assigned_room id="RM_R1_020" /> </time> </times> </lesson> - <lesson id="LS_1100"> <periods>2</periods> <lesson_subject id="SU_com" /> <lesson_teacher id="TR_kui" /> <lesson_classes id="CL_CMD1n2" /> - <times> - <time> <assigned_day>3</assigned_day> <assigned_period>1</assigned_period> <assigned_room id="RM_R1_462" /> </time> - <time> <assigned_day>3</assigned_day> <assigned_period>2</assigned_period> <assigned_room id="RM_R1_462" /> </time> </times> </lesson> |
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
| <?php error_reporting(E_ALL); include ("connect2.php"); if( !$XML = simplexml_load_file( 'rooster.xml' ) ) { echo 'Fout bij het inlezen van het XML bestand'; } else { foreach( $XML->lessons->lesson as $Lesson ) { $lesson_id = $Lesson['id']; $periods = $Lesson->periods; $lesson_subject_id = $Lesson->lesson_subject['id']; $lesson_subject_id = mysql_real_escape_string($lesson_subject_id); $lesson_teacher_id = $Lesson->lesson_teacher['id']; $lesson_classes_id = $Lesson->lesson_classes['id']; $query_lessons = "INSERT INTO lessons (lesson_id,periods,lesson_subject_id,lesson_teacher_id,lesson_classes_id) VALUES ('$lesson_id','$periods','$lesson_subject_id','$lesson_teacher_id','$lesson_classes_id')"; $result_lessons = mysql_query($query_lessons) or die (); } foreach( $XML->lessons->lesson->times->time as $Time ) { $times_assigned_day = $Time->assigned_day; $times_assigned_period = $Time->assigned_period; $times_assigned_room_id = $Time->assigned_room['id']; $query_times = "INSERT INTO times (lesson_id,assigned_day,assigned_period,assigned_room_id) VALUES ('$lesson_id','$times_assigned_day','$times_assigned_period','$times_assigned_room_id')"; $result_times = mysql_query($query_times) or die (mysql_error()); } ?> |