Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Inputy
bodacz
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.06.2016

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


Witam!
W zalozeniu skrypt ma wyswietlic tyle pol formularza ile podamy(to dziala)
Potem kazde pole formularza ma miec inne name i teraz mam problem. Jak to zrobic?
Probowalem z tablicami ale slabo mi wychodzilo.
Kazde pola formularza czyli ten fragment - ma miec inne name i potem zebym mogl sobie kazde wyjac z tablicy za pomoca petli . Pozdrawiam.

  1. for($i=1; $i<$ile+1; $i++)
  2. {
  3. echo $i.' przedmiot';
  4. echo '<input type="text" name="ocena[]"><br />';
  5.  
  6. }


  1. if(isset($_POST['ile']))
  2. {
  3. $polaczenie->query("tu zapytanie (IMG:style_emoticons/default/biggrin.gif) ");
  4. ?>
  5. <form method="post">
  6. <?
  7. for($i=1; $i<$ile+1; $i++)
  8. {
  9. echo $i.' przedmiot';
  10. echo '<input type="text" name="ocena[]"><br />';
  11.  
  12. }
  13. ?>
  14. <br /><input type="submit" name="guziczek" value="DALEJ!">
  15. </form>
  16.  
  17. <?
  18. }
  19.  
  20. if(isset($_POST['guziczek']))
  21. {
  22. $rezultat = $polaczenie->query("SELECT * FROM srednia WHERE user_name='$nick'");
  23. $ile_takich_liczb = $rezultat->num_rows;
  24. if($ile_takich_liczb>0)
  25. {
  26. while ($row1 = mysqli_fetch_array($rezultat, MYSQLI_ASSOC)) {
  27. $iloscprzedmiotow = ($row1['ilosc_przed']);
  28. }
  29. }
  30.  
  31. for($i=0;$i<$iloscprzedmiotow;$i++){
  32.  
  33. echo $ocena;
  34.  
  35. }
  36. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Star
post
Post #2





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Ale z czym masz problem. Jeśli nie wiesz ile za każdym razem podasz tych pól input to właśnie najlepszym rozwiązaniem jest stworzenie tablicy, a to już masz :
<input type="text" name="ocena[]">

Wtedy po stronie serwera przelecisz pętla i gotowe
Go to the top of the page
+Quote Post
bodacz
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.06.2016

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


hmm pisze dlatego ze to nie dziala? (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Po pierwsze stosuj pełen zapis <?php. $iloscprzedmiotow = ($row1['ilosc_przed']); nie ma sensu bo i tak będzie zawsze miało wartość ostatniego iterowanego rekordu. Nigdzie w tym kodzie nie wykorzystujesz $_POST['ocena']
Go to the top of the page
+Quote Post
bodacz
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.06.2016

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


ok to co mam zrobic...?
Go to the top of the page
+Quote Post
Star
post
Post #6





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


  1. <?php
  2. if( isset( $_POST["guziczek"] ) )
  3. {
  4. print_r( $_POST["ocena"] );
  5.  
  6. foreach($_POST["ocena"] as $ocena) {
  7. echo $ocena. "<br>";
  8. }
  9. }
  10.  
  11. ?>
  12.  
  13. <html>
  14. <body>
  15. <form method="post">
  16. <?php
  17. for($i=1; $i<=10; $i++)
  18. {
  19. echo $i.' przedmiot';
  20. echo '<input type="text" name="ocena[]"><br />';
  21. }
  22. ?>
  23. <br /><input type="submit" name="guziczek" value="DALEJ!">
  24. </form>
  25. </body>
  26. </html>
  27.  


i mozesz zrobic co chcesz z ta zmienna ocena :-)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 13:48