Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] formularz dwóch zmiennych
Forum PHP.pl > Forum > Przedszkole
szaman0
Witam


Mam problem nastepujący:

mam zrobić formularz który ma utworzyć tabele których ilość wierszy i kolumn będzie zależała od danych wpisanych. Formularz ma zawierać dwa pola "wejściowe" liczby kolumn i liczby wierszy np. jak wpisze żeby było 2 wiersze i 3 kolumny to wyświetli sie tabela która będzie miała 3 kolumny i 2 wiersze.

Mógłby mi ktos pomóc z tym zaczynam dopiero swoja przygode z php

Z góry dziekuję za pomoc.
skowron-line
for
i warunek IF

jezeli to ci nie pomoze to to napisz wtedy jakos ci pomozemy
szaman0
nie wiem wogóle jak to zrobić możesz mi napisać lub lepiej wytłumaczyć wiele lepiej, bym był wdzięczny jak bys mi ktos napisal ja bym to sobie przeanalizował i to zrozumial
JaRoPHP
Ja bym to zrobił tak: dwukrotnie zagnieździł pętlę for" title="Zobacz w manualu php" target="_manual: zewnętrzna przebiegająca po wierszach, wewnętrzna po kolumnach, schematycznie coś w stylu:
  1. <?php
  2. // wartości z formularza
  3. $wiersze = $_GET['rows'];
  4. $kolumny = $_GET['kolumny'];
  5.  
  6. echo '<table>';
  7.  
  8. for($i = 0; $i < $wiersze; $i++) { // przebieg po wierszach
  9.  echo '<tr>'
  10.  
  11.  for($j = 0 ; $j < $kolumny; $j++) { // przebieg po kolumnach
  12. echo '<td>KOMÓRKA</td>';
  13.  }
  14.  
  15.  echo '</tr>';
  16. }
  17. echo '</table>'
  18. ?>
grubas
  1. <?
  2.  
  3. if ($_POST['wiersze']!='' && $_POST['kolumny']!='') {
  4.  
  5. $wierszy=$_POST['wiersze'];
  6. $kolumn=$_POST['kolumny'];
  7.  
  8. echo ("<table border=1>");
  9.  
  10. for ($i=0;$i<$wierszy;$i++){
  11. echo ("<tr>");
  12. for ($j=0;$j<$kolumn;$j++) {
  13. echo ("<td>.");}
  14. echo ("</tr>");
  15.  
  16. }
  17.  
  18. echo ("</table>");
  19.  
  20. }
  21.  
  22. else {
  23.  
  24. echo ("<form action=tabele.php method=post >");
  25.  
  26. echo ("Ilosc wierszy <input type=text size=5 name=wiersze /><br>");
  27. echo ("Ilosc kolumn <input type=text size=5 name=kolumny /><br>");
  28. echo ("<input type=submit value=Utworz tabele />");
  29. echo ("</form>");
  30.  
  31. }
  32. ?>


cos pewnie w ten desen


ehh troche spozniony :E
szaman0
Dzieki wielkie za pomoc
JaRoPHP
@grubas - chyba coś nie tak jest... kluczowy fragment wygląda tak:
  1. <?php
  2. for ($i=0;$i<$wierszy;$i++){
  3.  echo ("<tr>");
  4.  
  5.  for ($j=0;$j<$kolumn;$j++) {
  6. echo ("<td>.</td>"); { // po co ten nawias
  7. echo ("</tr>"); // zamknięcie wiersza, będąc w komórce
  8. }
  9.  
  10.  echo ("</table>"); // zamknięcie tabeli, będąc w wierszu
  11. }
  12. ?>

Mianowicie zamykasz znacznik <tr>, będąc jeszcze w drugiej pętli (tworzącej poszczególne komórki, a nie wiersze), oraz zamykasz znacznik <table>, będąc w pętli pierwszej (czyli utworzysz tabelę raz, a zamkniesz ją tyle razy, ile jest wierszy).
lopez86
  1. <?php
  2.  
  3.  
  4. for ($i=0; $i<$wierszy; $i++){
  5.  
  6.  echo "<tr>";  
  7.  
  8.  for ($j=0; $j<$kolumn; $j++) {
  9.  
  10. echo "<td></td>"; 
  11.  
  12. }
  13.  
  14.  
  15. echo "</tr>";  
  16. }
  17.  
  18. echo "</table>"; 
  19. ?>
  20.  
  21. chyba teraz powinno działać :)
szaman0
dzięki wielkie za wszystkie odpowiedzi juz dziala, temat uwazam za zamknięty
grubas
Cytat(JaRoPHP @ 12.02.2007, 21:56:18 ) *
@grubas - chyba coś nie tak jest... kluczowy fragment wygląda tak:
  1. <?php
  2. for ($i=0;$i<$wierszy;$i++){
  3.  echo ("<tr>");
  4.  
  5.  for ($j=0;$j<$kolumn;$j++) {
  6. echo ("<td>.</td>"); { // po co ten nawias
  7. echo ("</tr>"); // zamknięcie wiersza, będąc w komórce
  8. }
  9.  
  10.  echo ("</table>"); // zamknięcie tabeli, będąc w wierszu
  11. }
  12. ?>

Mianowicie zamykasz znacznik <tr>, będąc jeszcze w drugiej pętli (tworzącej poszczególne komórki, a nie wiersze), oraz zamykasz znacznik <table>, będąc w pętli pierwszej (czyli utworzysz tabelę raz, a zamkniesz ją tyle razy, ile jest wierszy).


ehh wkleilem kod ale chcialem costam jeszcze zmienic i zepsulem, naprawilem jak tylko zobaczylem , ale widac monitoring forum jest non-stop :E:E, no nic moj blad :<
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.