Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczne tworzenie macierzy w html + php
wlazly91i
post 3.09.2014, 23:36:11
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


Witam!
Mam za zadanie tworzyć dynamicznie tabele dwuwymiarową w html za pomocą formularza z selectami określać iośc kolumn i wierszy następnie do wygenerowanej tablicy wpisać dane i wysłać formularzem, formularz po wysłaniu ma zostać na stronie w tym samym miejscu z wpisanymi danymi a tylko dane wysłane metodą POST czy da się tak zrobić?
poniżej kod który generuje dynamicznie tabele ale po wysłaniu fomularza z danymi formularz znika i nie wiem jak to przeskoczyć?
jakieś sugestie?
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. </head>
  5. <body>
  6. <form action="index.php" method="post" id="formu" >
  7. <select name="rozA" onchange = "document.getElementById('formu').submit()">
  8. <option <?php if($_POST['rozA'] == '1'){echo("selected");}?>>1</option>
  9. <option <?php if($_POST['rozA'] == '2'){echo("selected");}?>>2</option>
  10. <option <?php if($_POST['rozA'] == '3'){echo("selected");}?>>3</option>
  11. <option <?php if($_POST['rozA'] == '4'){echo("selected");}?>>4</option>
  12. <option <?php if($_POST['rozA'] == '5'){echo("selected");}?>>5</option>
  13. </select>
  14. <select name="rozB" onchange = "document.getElementById('formu').submit()">
  15. <option <?php if($_POST['rozB'] == '1'){echo("selected");}?>>1</option>
  16. <option <?php if($_POST['rozB'] == '2'){echo("selected");}?>>2</option>
  17. <option <?php if($_POST['rozB'] == '3'){echo("selected");}?>>3</option>
  18. <option <?php if($_POST['rozB'] == '4'){echo("selected");}?>>4</option>
  19. <option <?php if($_POST['rozB'] == '5'){echo("selected");}?>>5</option>
  20. </select>
  21. <select name="rozC" onchange = "document.getElementById('formu').submit()">
  22. <option <?php if($_POST['rozC'] == '1'){echo("selected");}?>>1</option>
  23. <option <?php if($_POST['rozC'] == '2'){echo("selected");}?>>2</option>
  24. <option <?php if($_POST['rozC'] == '3'){echo("selected");}?>>3</option>
  25. <option <?php if($_POST['rozC'] == '4'){echo("selected");}?>>4</option>
  26. <option <?php if($_POST['rozC'] == '5'){echo("selected");}?>>5</option>
  27. </select>
  28. </form>
  29.  
  30. <?php
  31. $_SESSION['rozA']= $_POST['rozA'];
  32. $_SESSION['rozB']= $_POST['rozB'];
  33. $_SESSION['rozC']= $_POST['rozC'];
  34. $A= $_SESSION['rozA'];
  35. $B= $_SESSION['rozB'];
  36. $C= $_SESSION['rozC'];
  37. echo '<form method="post" id="gora">';
  38. echo '<table style="margin-left:100px;" name="macA">';
  39. for($i=0;$i<$B;$i++)
  40. {
  41.  
  42. echo '<tr>';
  43. for($j=0;$j<$C;$j++)
  44. {
  45. echo '<td><input type="text" style="width:44px;background:blue;" name="Ax'.$i.'y'.$j.'" id="text" value="'.$_POST['Ax'.$i.'y'.$j].'"></td>';
  46. }
  47. echo '</tr>';
  48. }
  49. echo '</table>';
  50. echo '<table name="macB">';
  51. for($i=0;$i<$A;$i++)
  52. {
  53. echo '<tr>';
  54. for($j=0;$j<$B;$j++)
  55. {
  56. echo '<td><input type="text" style="width:44px;background:green;" name="Bx'.$i.'y'.$j.'" id="text" value=""></td>';
  57.  
  58. }
  59. echo '</tr>';
  60. }
  61. echo '</table>';
  62. echo '<input type="submit" value="Oblicz"/>';
  63. echo '</form>';
  64. ?>
  65. </body>
  66. </html>
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 10:06:38
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Stworzyles dwa formularze. Pierwszy formularz mowi, ile ma byc wierszy i kolumn, zas drugi formularz wysyla dane z utworzonej macierzy. Wysylajac wiec drugi formularz, tracisz dane, ktore byly w pierwszym formularzu. Logiczne wiec, ze wszystko znika.
W drugim formularzu, ktory wysyla dane z macierzy, musisz dorobic pola ukryte (HIDDEN) i w te pola wpisac te wartosci, ktore zostaly przekazane z pierwszego forma. Wowczas wszystko bedzie grac.

ps: Twoje uzycie sesji jest totalnie bez sensu.
Raz, ze sesja i tak ci sie nie tworzy, bo sesja musi byc tworzona na samym poczatku i nic przed nią nie moze isc do przegladarki
A dwa, ze ty i tak zawsze do sesji wkladasz dane z forma, nawet jak nic nie idzie...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 10:23:59
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


zrobiłem tak jak poniżej ale jak odwołać się do tych pól już w pętli for żeby było tylko powtórzeń?
PS: sesja była na próbę nie usunąłem przy podaniu kodu na stone wink.gif

  1. <html>
  2.  
  3. <head>
  4. <meta charset="utf-8">
  5. </head>
  6. <style>
  7. #macA
  8. {
  9. margin-left:100px;
  10. }
  11. #macB
  12. {
  13.  
  14. }
  15. #macC
  16. {
  17. margin-left:100px;
  18. margin-top:-93px;
  19. }
  20. </style>
  21. <script>
  22. function powieksz(obiekt, wartosc) {
  23. obiekt.style.marginLeft=wartosc;
  24. }
  25. </script>
  26.  
  27. <body>
  28. <form action="index.php" method="post" id="formu" >
  29. <select name="rozA" onchange = "document.getElementById('formu').submit()">
  30. <option <?php if($_POST['rozA'] == '1'){echo("selected");}?>>1</option>
  31. <option <?php if($_POST['rozA'] == '2'){echo("selected");}?>>2</option>
  32. <option <?php if($_POST['rozA'] == '3'){echo("selected");}?>>3</option>
  33. <option <?php if($_POST['rozA'] == '4'){echo("selected");}?>>4</option>
  34. <option <?php if($_POST['rozA'] == '5'){echo("selected");}?>>5</option>
  35. </select>
  36. <select name="rozB" onchange = "document.getElementById('formu').submit()">
  37. <option <?php if($_POST['rozB'] == '1'){echo("selected");}?>>1</option>
  38. <option <?php if($_POST['rozB'] == '2'){echo("selected");}?>>2</option>
  39. <option <?php if($_POST['rozB'] == '3'){echo("selected");}?>>3</option>
  40. <option <?php if($_POST['rozB'] == '4'){echo("selected");}?>>4</option>
  41. <option <?php if($_POST['rozB'] == '5'){echo("selected");}?>>5</option>
  42. </select>
  43. <select name="rozC" onchange = "document.getElementById('formu').submit()">
  44. <option <?php if($_POST['rozC'] == '1'){echo("selected");}?>>1</option>
  45. <option <?php if($_POST['rozC'] == '2'){echo("selected");}?>>2</option>
  46. <option <?php if($_POST['rozC'] == '3'){echo("selected");}?>>3</option>
  47. <option <?php if($_POST['rozC'] == '4'){echo("selected");}?>>4</option>
  48. <option <?php if($_POST['rozC'] == '5'){echo("selected");}?>>5</option>
  49. </select>
  50. </form>
  51.  
  52. <?php
  53. $A= $_POST['rozA'];
  54. $B= $_POST['rozB'];
  55. $C= $_POST['rozC'];
  56. echo '<div id="first">';
  57. echo '<form method="post" id="gora">';
  58. echo '<input type="hidden" name="rozmA" value="'.$A.'">';
  59. echo '<input type="hidden" name="rozmB" value="'.$B.'">';
  60. echo '<input type="hidden" name="rozmC" value="'.$C.'">';
  61. echo '<table name="macA" id="macA";">';
  62. for($i=0;$i<$A;$i++)
  63. {
  64. //$powieksz = powieksz(table,1000);
  65. //echo $powieksz;
  66. echo '<tr>';
  67. for($j=0;$j<$C;$j++)
  68. {
  69. echo '<td><input type="text" style="width:44px;background:blue;" name="Ax'.$i.'y'.$j.'" id="text" value=""></td>';
  70.  
  71. }
  72. echo '</tr>';
  73. }
  74. echo '</table>';
  75. //echo '</div>';
  76. //echo '<div id="secount">';
  77. echo '<table name="macB" id="macB">';
  78. for($i=0;$i<$A;$i++)
  79. {
  80. echo '<tr>';
  81. for($j=0;$j<$B;$j++)
  82. {
  83. echo '<td><input type="text" style="width:44px;background:green;" name="Bx'.$i.'y'.$j.'" id="text" value=""></td>';
  84. }
  85. echo '</tr>';
  86.  
  87. }
  88. echo '<table name="macC" id="macC">';
  89. for($i=0;$i<$A;$i++)
  90. {
  91. echo '<tr>';
  92. for($j=0;$j<$C;$j++)
  93. {
  94. echo '<td><input type="text" style="width:44px;background:red;" name="Cx'.$i.'y'.$j.'" id="text" value=""></td>';
  95. }
  96. }
  97. echo '</tr>';
  98. echo '</table>';
  99. echo '<input type="submit" name="nazwa" value="wartość" />';
  100. echo '</form>';
  101. echo '</div>';
  102.  
  103. ?>
  104. </body>
  105. </html>


Ten post edytował wlazly91i 4.09.2014, 10:24:51
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 10:32:25
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po pierwsze

rozmA
rozA

znajdz 10 roznic....

Po drugie: nie ma po drugie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 10:40:50
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


Dziękuję Bardzo wink.gif
facepalmxd.gif ok pozostawię to co zrobiłem bez komentarza:)
a czy w php da się wywoływać funkcjie zmieniającą style css np: żeby za każym przejściem pętli for zwiększała margines ewy danej tabeli
smile.gif
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 10:43:03
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a czy w php da się wywoływać funkcjie zmieniającą style css np: żeby za każym przejściem pętli for zwiększała margines ewy danej tabeli
A jaki problem w petli FOR zwiekszac jakąś zmienną o zadaną liczbe??


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 10:45:19
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


ale chodzi mi mi o to czy trzeba wywoływać to funkcją jakąś czy jakoś inaczej ?
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 10:48:25
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale po co?? Tlumacze ci, zwiekszasz jakąś zmienna w tej petli, i potem tę zmienną wstawiasz jako wartogsc marginesu...

echo '<td><input type="text" style="width:44px;background:blue;margin-left:'.$jakaszmienna.'px;" name="Ax'.$i.'y'.$j.'" id="text" value=""></td>';


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 10:50:23
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


ja to na prawde jestem sto lat za murzynami wink.gif dzięki i sorki za zawracanie głowy i to że musisz się denerwowaćwink.gif
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 10:51:38
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie 100 a 200 wink.gif

Przenosze na przedszkole.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 10:53:02
Post #11





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


no wiesz początki z php od tygodnia programuje:P
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 10:53:35
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dlatego też przenioslem na przedszkole. Tam tez mozesz zakladac kolejne ewentualne tematy smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 10:54:47
Post #13





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


dzięki za pomoc wink.gif i sorki za nerwa wink.gif
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 10:59:29
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Co ty z tym nerwem? Obserwujesz mnie przez lornetke i widzisz w jakim stanie emocjonalnym jestem? Jesli nie, to nie wciskaj mi na sile stanu, w ktorym nie jestem.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 11:03:44
Post #15





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


ale nie tobie nerwa wciskam tongue.gif
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 11:04:43
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie ogarniam.... CHyba jestem za stary by kumać teksty dzieci z przedszkola.... tongue.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 11:05:38
Post #17





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


trudno mi się wypowiadać w kwestii czy jesteś stary czy nie tongue.gif
Go to the top of the page
+Quote Post
nospor
post 4.09.2014, 11:08:41
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wystarczy, ze nie wyparles sie przedszkola... W porownaniu wiec z Twoim wiekiem, kazdy na tym forum jest za stary biggrin.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlazly91i
post 4.09.2014, 11:23:56
Post #19





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 3.09.2014

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


hehe;)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 01:56