Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dynamic list + zapisywanie do arraya.
dirtyhustlaz
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 29.03.2012

Ostrzeżenie: (0%)
-----


no wiec tak, musze zrobic do szkoly skrypt do bookawania biletow, musi on uzywac dynamic list i zapisywac informacje do arraya zebym mogl pozniej je wyswietlic w formie zamowienia. mam problem zapisuje mi tylko dane z pierwszej i drugiej listy a 3 i 4 zapisuje wszystkie opcje naraz.

powinno byc: artysta - miasto - wybrana data - wybrana cena
a pokazuje: artysta - miasto - wszystkie dostepne daty - wszystkie dostepne ceny

przez to tez mi nie podlicza total na zamowieniu.

oto kod mojego skryptu:
http://snipt.org/vahv9

okej, okroilem troche skrypt, dane personalne wrzucilem na inna podstrone, teraz zostal tylko wybor artysty, miasta, daty i ceny.

dalej mi sie wyswietla
wybrany artysta - wybrane misato - wszystie daty - wszystkie ceny

a chce
wybrany artysta - wybrane miasto - wybrana data - wybrana cena

dlaczego zapisuje mi tylko poprawne informacje z pierwszej listy i drugien a z trzeciej i czwartej bierze wszystkie opcje??! juz kij w to podliczanie ale zeby poprawnie zapisywalo i wyswietlalo.


http://snipt.org/embed/vahQ4

juz znalalzlem blad i wyswietla mi sie poprawnie, teraz mam problem z podliczaniem ceny. chcialbym zeby ceny wszystkich dodanych do arraya biletow byly podliczane razem na koniec i zeby dodawalo dodatkowo 10 do total jesli jest wiecej nic 4 bilety.


prosze pomocie musze oddac to do 5 godziny (IMG:style_emoticons/default/biggrin.gif)


to jest moja funkcja wyswietlania biletow: ( to tu bym chcial zeby byly podliczane wszystkie bilety i dodawane 10 jesli jest ich wiecej niz 4

  1. function displayOrder()
  2. {
  3. var total = 0;
  4. for(var i = 1; i < index; i++)
  5. {
  6. document.write(i+". "+nameOfArtist[i]+" - "+nameOfCity[i]+" - "+dataOfConcert[i]+" - "+priceOfTicket[i]+"<br>");
  7. total += parseFloat(priceOfTicket[i]);
  8.  
  9. }
  10. total = parseFloat(total).toFixed(2);
  11. document.write("<br><b>Total: </b>"+total);
  12. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wszerad
post
Post #2





Grupa: Zarejestrowani
Postów: 106
Pomógł: 18
Dołączył: 11.12.2008

Ostrzeżenie: (0%)
-----


  1. var nameOfArtist = Array(), nameOfCity = Array(), dataOfConcert = Array(), priceOfTicket = Array(), numberOfTickets = Array(), index = 1, total = 0, tickets = [];
  2.  
  3. function addTicket(){
  4. var form = document.forms['form'],
  5. art = form['artist'].value,
  6. city = form['city'].value,
  7. data = form['data'].value,
  8. price = form['price'].value,
  9. tnumber = form['tnumber'].value;
  10.  
  11. tickets.push([art,city,data,price,tnumber]);
  12. }
  13.  
  14. function displayOrder(){
  15. var total = 0;
  16.  
  17. for(var i=0;i<tickets.length;i++){
  18. var ticket = tickets[i];
  19. document.write((i+1)+'. '+ticket[0]+' - '+ticket[1]+' - '+ticket[2]+' - '+ticket[3]+'<br>');
  20. total += ticket[3]*ticket[4];
  21. }
  22.  
  23. document.write("<br><b>Total: </b>"+total.toFixed(2));
  24. }
  25.  
  26.  
  27. </script>
  28.  
  29. </head>
  30.  
  31. <body>
  32.  
  33. <form name="form">
  34. <h3> Choose you tickets:</h3>
  35. <h5>Artist:</h5>
  36. <select id="artist" onchange="GetArtist()">
  37. <option value="">Choose Artist</option>
  38. <option value="Madonna">Madonna</option>
  39. <option value="Rod Stewart">Rod Stewart</option>
  40. <option value="Guns n Roses">Guns n Roses</option>
  41. <option value="Oasis">Oasis</option>
  42. <option value="Beyonce">Beyonce</option>
  43. </select>
  44. <h5>City:</h5>
  45. <select id="city" onchange="GetDates()">
  46. <option value="">Choose City</option>
  47. <option value="London">London</option>
  48. <option value="Manchaster">Manchaster</option>
  49. </select>
  50. <h5>Dates available:</h5>
  51. <select id="data" onchange="GetPrices()">
  52. <option value="">Choose date</option>
  53. <option value="17 July">17 July</option>
  54. <option value="18 July">18 July</option>
  55. </select>
  56. <h5>Prices:</h5>
  57. <select id="price">
  58. <option value="">Choose Price</option>
  59. <option value="30">30</option>
  60. <option value="45">45</option>
  61. <option value="70">70</option>
  62. </select>
  63. <h5>No of people:</h5>
  64. <select id="tnumber">
  65. <option value="">No of people</option>
  66. <option value="1">1</option>
  67. <option value="2">2</option>
  68. <option value="3">3</option>
  69. <option value="4">4</option>
  70. <option value="5">5</option>
  71. <option value="6">6</option>
  72. </select>
  73. <input type="button" onclick="addTicket()" value="Add Ticket"></button>
  74. <input type="button" onclick="displayOrder()" value="Calculate"></button>
  75. </form>
  76.  
  77. When tou order more than 4 ticket you will be charged extra 10 pound.
  78.  
  79. </body>
  80.  
  81. </html>


Musiałem sobie zapisać w pliku zeby sprawdzic co sie dzieje, u mnie jest ok (zmodyfikowalem kod wyżej pare sekund po publikacji wiec odswiez jak cos)

  1. function addTicket(){
  2. var form = document.forms['form'],
  3. art = form['artist'].value,
  4. city = form['city'].value,
  5. data = form['data'].value,
  6. price = form['price'].value,
  7. tnumber = form['tnumber'].value;
  8.  
  9. while(tnumber--){
  10. tickets.push([art,city,data,price]);
  11. }
  12. }
  13.  
  14. function displayOrder(){
  15. var total = 0;
  16.  
  17. for(var i=0;i<tickets.length;i++){
  18. var ticket = tickets[i];
  19. document.write((i+1)+'. '+ticket[0]+' - '+ticket[1]+' - '+ticket[2]+' - '+ticket[3]+'<br>');
  20. total += ticket[3]*1;
  21. }
  22.  
  23. document.write("<br><b>Total: </b>"+total.toFixed(2));
  24. }

teraz juz chyba wszystko

Ten post edytował wszerad 20.06.2012, 16:07:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 06:36