Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem w tablicą
Forum PHP.pl > Forum > Przedszkole
Gość
Mam takie skrypty
  1. <form method="post" action="plik.php" enctype="multipart/form-data">
  2. <script type="text/javascript">
  3. var i = 1;
  4. function dodaj(id)
  5. {
  6. var Div = document.getElementById(id);
  7. var numer = document.createElement("input");
  8. var imie = document.createElement("input");
  9. var pojazd = document.createElement("input");
  10. var etrt = document.createElement("input");
  11. var et = document.createElement("input");
  12. var br = document.createElement("br");
  13.  
  14. var divn = document.createElement("span");
  15. divn.setAttribute("class","style4");
  16. divn.innerHTML=i+'. Numer startowy: ';
  17.  
  18. var divw = document.createElement("span");
  19. divw.setAttribute("class","style4");
  20. divw.innerHTML=' Nazwisko i imię: ';
  21. Div.appendChild(divn);
  22.  
  23. var divy = document.createElement("span");
  24. divy.setAttribute("class","style4");
  25. divy.innerHTML=' Pojazd: ';
  26. Div.appendChild(divy);
  27.  
  28. var divz = document.createElement("span");
  29. divz.setAttribute("class","style4");
  30. divz.innerHTML=' ET+RT: ';
  31. Div.appendChild(divz);
  32.  
  33. var divr = document.createElement("span");
  34. divr.setAttribute("class","style4");
  35. divr.innerHTML=' ET: ';
  36. Div.appendChild(divr);
  37.  
  38. numer.setAttribute("name","numer["+i+"]");
  39. numer.setAttribute("type","text");
  40. numer.setAttribute("size","5");
  41. numer.setAttribute("class","style4");
  42. Div.appendChild(numer);
  43.  
  44. Div.appendChild(divw);
  45. imie.setAttribute("name","imie["+i+"]");
  46. imie.setAttribute("type","text");
  47. imie.setAttribute("size","15");
  48. imie.setAttribute("class","style4");
  49. Div.appendChild(imie);
  50.  
  51. Div.appendChild(divy);
  52. pojazd.setAttribute("name","pojazd["+i+"]");
  53. pojazd.setAttribute("type","text");
  54. pojazd.setAttribute("size","15");
  55. pojazd.setAttribute("class","style4");
  56. Div.appendChild(pojazd);
  57.  
  58. Div.appendChild(divz);
  59. etrt.setAttribute("name","etrt["+i+"]");
  60. etrt.setAttribute("type","text");
  61. etrt.setAttribute("size","15");
  62. etrt.setAttribute("class","style4");
  63. Div.appendChild(etrt);
  64.  
  65. Div.appendChild(divr);
  66. et.setAttribute("name","et["+i+"]");
  67. et.setAttribute("type","text");
  68. et.setAttribute("size","15");
  69. et.setAttribute("class","style4");
  70. Div.appendChild(et);
  71.  
  72.  
  73. Div.appendChild(br);
  74. ++i;
  75. }
  76.  
  77. <p><b>Tabela wyników - ELEMINACJE</b></p>
  78.  
  79. <div id="pola"></div>
  80. <br>
  81. <input type="button" class="style4" onclick="dodaj('pola'); return false;" value="Dodaj rekord" />
  82. <input type="submit" class="style4" value="Wyślij" />
  83. </form>


  1. <?
  2.  
  3. $numer=$_POST['numer'];
  4. $imie=$_POST['imie'];
  5. $pojazd=$_POST['pojazd'];
  6. $etrt=$_POST['etrt'];
  7. $et=$_POST['et'];
  8.  
  9.  
  10. print $numer['0']."<BR>";
  11. print $imie[0]."<BR>";
  12. print $pojazd[1]."<BR>";
  13. print $etrt[1]."<BR>";
  14. print $et[1]."<BR>";
  15.  
  16.  
  17.  
  18. ?>


Problem polega na tym ze chce wyświetlic zawartosc. Tylko nie umiem wyświetlić ów tabeli. Jestem poczatkujacy wiec prosze o wyrozumialosc.
nasty
http://php.net/pl/print_r
Powiedz moze dokladniej w jaki sposob chcesz je wyswietlic....
kossa
Tu masz trochę namieszane:

  1. <?php
  2. $numer=$_POST['numer'];
  3. $imie=$_POST['imie'];
  4. $pojazd=$_POST['pojazd'];
  5. $etrt=$_POST['etrt'];
  6. $et=$_POST['et'];
  7.  
  8.  
  9. print $numer['0']."<BR>";
  10. print $imie[0]."<BR>";
  11. print $pojazd[1]."<BR>";
  12. print $etrt[1]."<BR>";
  13. print $et[1]."<BR>";
  14. ?>


Tablica zmiennych, która przechowuje dane z przesłanego formularza to tablica $_POST

wyświetlasz ją za pomocą:

  1. <?php
  2. print_r($_POST);
  3. ?>


jej poszczególne elementy:

do których odwołujesz się za pomocą indeksów:

  1. <?php
  2. echo $_POST[0];
  3. echo $_POST[1];
  4. echo $_POST[n]; //gdzie n to nr indeksu (elementu) tablicy
  5. ?>


lub za pomocą nazw przesyłanych zmiennych:

  1. <?php
  2. echo $_POST['imie'];
  3. echo $_POST['nazwisko'];
  4. ?>


lub tak jak robiłeś - zmienne tablicy dodajesz do zmiennych:

  1. <?php
  2. $zmienna1=$_POST['nazwisko'];
  3. echo $zmienna1;
  4. //ale nie echo $zmienna1[1];!
  5. ?>


Pozdrawiam,
Łukasz
Gość
No i już jest klarowniej smile.gif

Jednak jak chce to wywołac to zamiast danych pokazuje mi słowo Array....Jak zrobic by mozna bylo wyrzucic dane na ekran zamiast słowa Array. Jeszcze jedno czy przy takim zapisie

  1. <?php
  2. $numer=$_POST['numer'];
  3. $imie=$_POST['imie'];
  4. $pojazd=$_POST['pojazd'];
  5. $etrt=$_POST['etrt'];
  6. $et=$_POST['et'];
  7. ?>


Nie bedzie problemu z wrzuceniem danych do bazy MySQL questionmark.gif Będzie to wyglądało mniej więcej tak:

  1. <?php
  2. $insert="INSERT INTO `wyniki`
  3. (`id` ,
  4.  `numer`
  5.  `imie` ,
  6.  `pojazd` ,
  7.  `etrt` ,
  8.  `et` )
  9.  VALUES
  10. ('',
  11. '".$numer."',
  12. ".$imie."', 
  13. '".$pojazd."',
  14. '".$etrt."',
  15. '".$et."');";
  16. ?>
kossa
Cytat(Gość @ 31.07.2006, 15:19 ) *
No i już jest klarowniej smile.gif

Jednak jak chce to wywołac to zamiast danych pokazuje mi słowo Array....Jak zrobic by mozna bylo wyrzucic dane na ekran zamiast słowa Array. Jeszcze jedno czy przy takim zapisie


Coś zle robisz, bo to powinno wyświetlić dane przesłane metodą POST.
Możesz zamiast apostrofów użyć cudzysłowia ale to nie powinno mieć znaczenia.

To array to może pozostałość po czymś co wczesniej kombinowałeś.

Cytat
  1. <?php
  2. $numer=$_POST['numer'];
  3. $imie=$_POST['imie'];
  4. $pojazd=$_POST['pojazd'];
  5. $etrt=$_POST['etrt'];
  6. $et=$_POST['et'];
  7. ?>

Nie bedzie problemu z wrzuceniem danych do bazy MySQL questionmark.gif Będzie to wyglądało mniej więcej tak:

Cytat
  1. <?php
  2. $insert="INSERT INTO `wyniki`
  3. (`id` ,
  4.  `numer`
  5.  `imie` ,
  6.  `pojazd` ,
  7.  `etrt` ,
  8.  `et` )
  9.  VALUES
  10. ('',
  11. '".$numer."',
  12. ".$imie."', 
  13. '".$pojazd."',
  14. '".$etrt."',
  15. '".$et."');";
  16. ?>


Najprościej i najszybciej będzie jeśli najpierw sam to przetestujesz, wtedy czegoś przy okazji się nauczysz a jak już będzie pojawiać się jakiś problem to wtedy pytaj.

To zapytanie SQL powinno zadziałać, jeśli nie machnąłeś się w przecinkach, apostrofach itp. Jeśli pole id jest typu auto_increment to możesz pominąć pierwsze '' w zapytaniu przed $numer.

  1. <?php
  2. $insert="INSERT INTO `wyniki` (`numer`
  3.  `imie` ,
  4.  `pojazd` ,
  5.  `etrt` ,
  6.  `et` )
  7.  VALUES
  8. (
  9. '".$numer."',
  10. ".$imie."', 
  11. '".$pojazd."',
  12. '".$etrt."',
  13. '".$et."');";
  14. ?>
Gość
Widzisz senk w tym że morduje sie z tym drugi dzien i wyświetla mi array. Może tu jest coś z tym skryptem w javascript questionmark.gif Będe bardzo wdzieczny za pomoc bo jestem w kropce :/
kossa
Być może JS, nie wywołuj funkcji JS aby przetestować czy to na pewno ona generuje taki błąd. A jak się pojawia błąd to spr. w której lini i napisz jak wygląda dokładnie info o błędzie i podaj wtedy cały kod tak aby można było zorientować się która linia odpowiada lini błędu.

Łukasz
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.