<?php $xml = simplexml_load_file('http://vatbook.euroutepro.com/xml2.php?fir=EPWW'); include(MYSQL_CONNECT_INCLUDE); $query = "SELECT * FROM book"; for ($i=0; $i<$number; $i++) { } foreach ( $xml->atcs->booking as $key => $value ) { $update_atc = "UPDATE book SET atc='$value->callsign', data = '$c1', od = '$a1', do = '$b1', nazwisko = '$value->name' , dzis = '$d1' where (atc = '$value->callsign' and '$c1' = '$d1') limit 1"; } ?>
Tabela jest uaktualniona.
Mam też kod, który mi to ładnie wyświetla i zarazem odświeża tebelę, w razie gdyby weszły zmiany:
<?php include("http://cassubian.pl/atctab2a.php") ?> <?php $query = "SELECT * FROM book WHERE data = curdate() "; if ($num > 0 ) { print "<td colspan='3' bgcolor=000000 width=35% height=18 align=center><font face=Arial color=#ffffff size=3><b>ATC na dziś (LT)</b></font>"; print "<td bgcolor=FFFFFF width=100 height=18 align=center><font face=Arial color=#000000 size=2><b>Pozycja</b></font></td>"; print "<td bgcolor=FFFFFF width=40 height=18 align=center><font face=Arial color=#000000 size=2><b>Od</b></font></td>"; print "<td bgcolor=FFFFFF width=40 height=18 align=center><font face=Arial color=#000000 size=2><b>Do</b></font></td></p>"; for ($i=0; $i<$num; $i++) { print "<td width=80 height=18 align=center><font face=Arial size=2 color=#FFFFFF >$atc</font></td>"; }} elseif ($num < 1 ) { //* Print header */ print "<td colspan='3' bgcolor=000000 width=35% height=18 align=center><font face=Arial color=#ffffff size=3><b>ATC na dziś (LT)</b></font>"; print "<td bgcolor=FFFFFF width=100 height=18 align=center><font face=Arial color=#000000 size=2><b>Pozycja</b></font></td>"; print "<td bgcolor=FFFFFF width=40 height=18 align=center><font face=Arial color=#000000 size=2><b>Od</b></font></td>"; print "<td bgcolor=FFFFFF width=40 height=18 align=center><font face=Arial color=#000000 size=2><b>Do</b></font></td></p>"; } php?>
Opis problemu
Może się zdarzyć, że w pliku XML pojawią się dwie wartości
takie same, np. EPWW_CTR, ale inne będą godziny
atc='$value->callsign'
lub nazwiska itd., dla obydwu (lub więcej) wpisów.
od = '$a1', do = '$b1'
W jaki sposób poprawić kod, by jeśli taka sytuacja wystąpi, nie pokazywało jedynie jednego wpisu, jak to mam miejsce w obecnie? Dodam, że struktura tabeli wygląda następująco (fragment)?

Czy może należałby użyć CONCAT, INSERT a może w ogóle inaczej wszystko przemyśleć?
Dzięki z góry za odpowiedź!
EDIT:
Dodam, że stworzyłem też skrypt z insertem, ale problem wtedy był taki, że każdorazowo dokładało wpisy, które potem dublowały się i potrajały w ostatecznie wyświetlanej tabeli. Jeśli dałem 'limit 1', występował opisany wyżej problem, czyli wyświetlana była jedynie najnowsza pozycja.