Funkcja wypełniająca puste komórki w tablicy

0

Witam. Mam problem i nie wiem jak go rozwiązać. Mam dwu wymiarową tablicę. Na stronie jest możliwe wybranie odpowiedniej wartości liczbowej lub literki K. Funkcja powinna w przypadku kliknięcia K wypełnić tablice gdzie są puste pola do poprzedniej wartości liczbowej taką samą wartością jak ostatnia. Nie mam pomysłu na to. Na razie tyle wymyśliłem:

function fukncjaK ($tablica) {
		global $pole_tab;
		int a = 1;
		int b = 6;
		int i_a;
		int i_b;
		int ile;
		
		if ($pole_tab[$wiersz][$kolumna]= 
		
		if (is_numeric($pole_tab[a][b])) {
			echo 	"Mam liczbe";
			ile=0;
			a = i_a;
			b = i_b;
			zmienna = current($pole_tab[a][b]);
		}		
		
		if (is_null($pole_tab[a][b])){
			ile++;
		}
		
		
		if ($pole_tab[a][b] = 'K') {
			echo "Mam K";
			array_fill(i_a , ile , 'zmienna');
			ile=0;
		}
			
		
		

		
		
}

Wpisywanie do tablicy:

	echo '<td><form action="" method="post"><select name="'.$name[$x][7].'">'; get_combo_list_out($x,12,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][8].'">'; get_combo_list_out($x,13,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][9].'">'; get_combo_list_out($x,14,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][10].'">'; get_combo_list_out($x,15,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][11].'">'; get_combo_list_out($x,16,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][12].'">'; get_combo_list_out($x,17,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][13].'">'; get_combo_list_out($x,18,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][14].'">'; get_combo_list_out($x,19,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][15].'">'; get_combo_list_out($x,20,"kod_strat.txt"); echo '</td>';
	echo '<td><form action="" method="post"><select name="'.$name[$x][16].'">'; get_combo_list_out($x,21,"kod_strat.txt"); echo '</td>';
        echo '<td><form action="" method="post"><select name="'.$name[$x][17].'">'; get_combo_list_out($x,22,"kod_strat.txt"); echo '</td>';```

0

Podstawowa sprawa - nie wiem, czy rzuciło Ci się w oczy, ale to podane przez Ciebie wypełnianie tabeli jest...powiedzmy, że bardzo powtarzalne. W sumie to piszesz za każdym razem to samo, a poszczególne linie różnią się jedynie detalami. Moim zdaniem byłoby lepiej wrzucić to do odpowiedniej funkcji, którą potem wywołasz ze stosownymi parametrami.

A co do samego wypełniania treścią - za bardzo nie rozumiem, o co Ci chodzi. Napisz to proszę jaśniej.

2
  1. Nie możesz w każdym wierszu otwierać <form>. On powinien być otwarty przed pierwszym polem i zamknięty po ostatnim,
  2. Do wyświetlania tabeli HTML użyj pętli, żebyś nie pisał 100 wierszy, tylko 1 i zapętlił (np. for() / foreach())
  3. Do wypełnienia pól również użyj pętli.

https://www.w3schools.com/php/php_looping_for.asp

0
cerrato napisał(a):

Podstawowa sprawa - nie wiem, czy rzuciło Ci się w oczy, ale to podane przez Ciebie wypełnianie tabeli jest...powiedzmy, że bardzo powtarzalne. W sumie to piszesz za każdym razem to samo, a poszczególne linie różnią się jedynie detalami. Moim zdaniem byłoby lepiej wrzucić to do odpowiedniej funkcji, którą potem wywołasz ze stosownymi parametrami.

A co do samego wypełniania treścią - za bardzo nie rozumiem, o co Ci chodzi. Napisz to proszę jaśniej.

Niestety ja tego nie tworzyłem. Muszę się wpasować w projekt. Rozumiem, że dałoby się to zrobić za pomocą jednej funkcji ale jestem bardzo słaby z PHP i tego nie widzę.
Co do wypełniania treścią. Chodzi o to, jeżeli wystąpi K to wszystkie wcześniejsze komórki puste do najbliżej wartości liczbowej mają być wypełnione właśnie tą wartością z ostatniej wartości liczbowej. Chyba zrozumiale :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1