Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][PHP]Praca w php na plikach xml. Potrzebna pomoc.
Forum PHP.pl > Forum > Przedszkole
blackball
Witam. Pracuję na plikach XML w php i mam problem ze wszystkimi operacjami. Na przykładzie jednego z plików wyjaśnię o co mi chodzi. Treść pliku:

  1. <html>
  2. <head>
  3. <body>
  4. <?php
  5. $xml = simplexml_load_file('autokar.xml');
  6. $xml2 = simplexml_load_file('trasa.xml');
  7. ?>
  8. <form action="index.php?id=usun_autokar" method="post">
  9. <span class='wciecie2'>Trasa (z tej trasy zostanie usunięty autobus): </span>
  10. <select name="wybor" class='sel_size' class="przes1">
  11. <?php
  12. for ($i=0;$i<count($xml->trasa);$i++)
  13.  
  14. echo "<option value='".$xml2->trasa[$i]['ID']."'>".$xml2->trasa[$i]->kierunek[0]."</option>";
  15. ?>
  16. </select><br/>
  17. <span class='wciecie2'>Numer autobusu do usunięcia: </span>
  18. <select name="wybor2" class='sel_size' class="przes2">
  19. <?php
  20. //for ($j=0;$j<3;$j++)
  21. echo "<option value='0'>0</option>";
  22. echo "<option value='1'>1</option>";
  23. echo "<option value='2'>2</option>";
  24. echo "<option value='3'>3</option>";
  25. ?>
  26. </select><br />
  27. <input type="hidden" value="1" name="spr">
  28. <input type="submit" value="Usuń">
  29. </form>
  30. <?php
  31. if(1)
  32. {
  33. if($wybor==0)
  34. {
  35. switch($wybor2)
  36. {
  37. case 0;
  38. unset($xml->trasa[0]->autokar[0]);
  39. break;
  40. case 1;
  41. unset($xml->trasa[0]->autokar[1]);
  42. break;
  43. case 2;
  44. unset($xml->trasa[0]->autokar[2]);
  45. break;
  46. }
  47. }
  48. if($wybor==1)
  49. {
  50. switch($wybor2)
  51. {
  52. case 0;
  53. unset($xml->trasa[1]->autokar[0]);
  54. break;
  55. case 1;
  56. unset($xml->trasa[1]->autokar[1]);
  57. break;
  58. case 2;
  59. unset($xml->trasa[1]->autokar[2]);
  60. break;
  61. }
  62. }
  63. if($wybor==2)
  64. {
  65. switch($wybor2)
  66. {
  67. case 0;
  68. unset($xml->trasa[2]->autokar[0]);
  69. break;
  70. case 1;
  71. unset($xml->trasa[2]->autokar[1]);
  72. break;
  73. case 2;
  74. unset($xml->trasa[2]->autokar[2]);
  75. break;
  76. }
  77. }
  78. if($wybor==3)
  79. {
  80. switch($wybor2)
  81. {
  82. case 0;
  83. unset($xml->trasa[3]->autokar[0]);
  84. break;
  85. case 1;
  86. unset($xml->trasa[3]->autokar[1]);
  87. break;
  88. case 2;
  89. unset($xml->trasa[3]->autokar[2]);
  90. break;
  91. }
  92. }
  93. if($wybor==4)
  94. {
  95. switch($wybor2)
  96. {
  97. case 0;
  98. unset($xml->trasa[4]->autokar[0]);
  99. break;
  100. case 1;
  101. unset($xml->trasa[4]->autokar[1]);
  102. break;
  103. case 2;
  104. unset($xml->trasa[4]->autokar[2]);
  105. break;
  106. }
  107. }
  108. if($wybor==5)
  109. {
  110. switch($wybor2)
  111. {
  112. case 0;
  113. unset($xml->trasa[5]->autokar[0]);
  114. break;
  115. case 1;
  116. unset($xml->trasa[5]->autokar[1]);
  117. break;
  118. case 2;
  119. unset($xml->trasa[5]->autokar[2]);
  120. break;
  121. }
  122. }
  123. if($wybor==6)
  124. {
  125. switch($wybor2)
  126. {
  127. case 0;
  128. unset($xml->trasa[6]->autokar[0]);
  129. break;
  130. case 1;
  131. unset($xml->trasa[6]->autokar[1]);
  132. break;
  133. case 2;
  134. unset($xml->trasa[6]->autokar[2]);
  135. break;
  136. }
  137. }
  138. if($wybor==7)
  139. {
  140. switch($wybor2)
  141. {
  142. case 0;
  143. unset($xml->trasa[7]->autokar[0]);
  144. break;
  145. case 1;
  146. unset($xml->trasa[7]->autokar[1]);
  147. break;
  148. case 2;
  149. unset($xml->trasa[7]->autokar[2]);
  150. break;
  151. }
  152. }
  153. if($wybor==8)
  154. {
  155. switch($wybor2)
  156. {
  157. case 0;
  158. unset($xml->trasa[8]->autokar[0]);
  159. break;
  160. case 1;
  161. unset($xml->trasa[8]->autokar[1]);
  162. break;
  163. case 2;
  164. unset($xml->trasa[8]->autokar[2]);
  165. break;
  166. }
  167. }
  168. if($wybor==9)
  169. {
  170. switch($wybor2)
  171. {
  172. case 0;
  173. unset($xml->trasa[9]->autokar[0]);
  174. break;
  175. case 1;
  176. unset($xml->trasa[9]->autokar[1]);
  177. break;
  178. case 2;
  179. unset($xml->trasa[9]->autokar[2]);
  180. break;
  181. }
  182. }
  183. if($wybor==10)
  184. {
  185. switch($wybor2)
  186. {
  187. case 0;
  188. unset($xml->trasa[10]->autokar[0]);
  189. break;
  190. case 1;
  191. unset($xml->trasa[10]->autokar[1]);
  192. break;
  193. case 2;
  194. unset($xml->trasa[10]->autokar[2]);
  195. break;
  196. }
  197. }
  198. $xml->asXML('autokar.xml');
  199. echo 'Usunieto autokar z wybranej Trasy.';
  200.  
  201. }
  202. echo "<div id='lista'>";
  203. echo "<br/><span class='napis_g'> Lista dostępnych autokarow na danej trasie: </span><br/>";
  204. for ($i=0;$i<count($xml->trasa);$i++)
  205.  
  206. {
  207. echo "<span class='napis_g'>".$xml2->trasa[$i]['ID'].". ".$xml2->trasa[$i]->kierunek[0]."</span><br/>";
  208. for ($j=0;$j<count($xml->trasa[$i]->autokar);$j++)
  209.  
  210. echo "<span class='wciecie2'>".$xml->trasa[$i]->autokar[$j]['ID'].". ".$xml->trasa[$i]->autokar[$j]->nazwa."</span><br/>";
  211. }
  212. echo "</div>";
  213.  
  214. ?>


Problem polega na tym, że program nie usuwa mi tego co bym chciał. Objaw taki jak by nie reagował na wybraną w formularzu opcję i usuwa pierwszy autokar z brzegu. To samo zachowanie występuje w przypadku reszty plików. Co robię źle. Co jest nie tak ? Proszę o pomoc.
Spawnm
Proszę dodać BBcode.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.