• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed PHP- zwiększanie o 1 w każdym wierszu

0 głosów
999 wizyt
pytanie zadane 19 maja 2020 w PHP przez Mateusz_MM Początkujący (430 p.)
zamknięte 22 maja 2020 przez Mateusz_MM
function pracownicy(){
  global $conn;
  $a=1;
  $b=$a++;
  $sql="SELECT `id_pracownika`, `nazwisko_imie` FROM `pracownicy` ";
  $wynik=mysqli_query($conn, $sql);
		while ($wiersz=mysqli_fetch_assoc($wynik)){
			echo '<tr><td>'.$wiersz['nazwisko_imie']. ' <input type="hidden" name="id_pracownika" value="'.$wiersz['id_pracownika'].'">'.'</td><td>'.'<input type="text" name="pon'.$b.'">'.'</td><td>'.'<input type="text" name="wt"> '.'</td><td>'.'<input type="text" name="sr">'.'</td><td>'.'<input type="text" name="czw">'.'</td><td>'.'<input type="text" name="pt">'.'</td></tr>';
		}
}

Ten fragment kodu wyświetla listę pracowników (których pobiera z bazy) w tabeli i obok każdego pracownika pole typu text. Po uzupełnieniu pól do bazy wysyłają się tyko dane z ostatniego wiersza. Chciałem zrobić aby do nazw tygodni dodawała się liczba (np: w pierwszym wierszu pon1, wt2 w drugim pon2, wt2...). Jedynie wpadłem na pomysł aby dać zmienną a i b, lecz to nie działa.

I moje pytanie czy da się stworzyć w ogóle coś takiego co bym chciał, jeżeli tak to prosił bym o jakieś wskazówki.

komentarz zamknięcia: Poprawna odpowiedź

1 odpowiedź

0 głosów
odpowiedź 19 maja 2020 przez Michałełe Nałogowiec (25,600 p.)
wybrane 19 maja 2020 przez Mateusz_MM
 
Najlepsza
Jeśli dobrze rozumiem, to zmienne powinieneś inkrementować w pętli while.
komentarz 19 maja 2020 przez Mateusz_MM Początkujący (430 p.)
function pracownicy(){
  global $conn;

  $a=0;

  $sql="SELECT `id_pracownika`, `nazwisko_imie` FROM `pracownicy` ";

  $wynik=mysqli_query($conn, $sql);

		while ($wiersz=mysqli_fetch_assoc($wynik)||($a<=1)){
      $a++;
			echo '<tr><td>'.$wiersz['nazwisko_imie']. ' <input type="hidden" name="id_pracownika" value="'.$wiersz['id_pracownika'].'">'.'</td><td>'.'<input type="text" name="pon'.$a.'">'.'</td><td>'.'<input type="text" name="wt'.$a.'"> '.'</td><td>'.'<input type="text" name="sr'.$a.'">'.'</td><td>'.'<input type="text" name="czw'.$a.'">'.'</td><td>'.'<input type="text" name="pt'.$a.'">'.'</td></tr>';
		}
}

Czy chodzi o coś takiego? 

Ten kod wykonuje właśnie to co chciałem.

Powstał teraz kolejny problem, mianowicie wyświetla się tyle wierszy tabeli ilu jest pracowników, lecz nie pobiera żadnych danych. Myślę że coś źle zapisałem w tej pętli while tylko nie mam pojęcia co.

komentarz 19 maja 2020 przez Mateusz_MM Początkujący (430 p.)

@Michałełe, poprawiłem jednak kod na taki i wszystko działa.

Jeśli coś powinienem zrobić inaczej będę wdzięczny za podpowiedź.

Dzięki za pomoc. laugh

function pracownicy(){
  global $conn;

  $a=0;

  $sql="SELECT `id_pracownika`, `nazwisko_imie` FROM `pracownicy` ";

  $wynik=mysqli_query($conn, $sql);

		while (($a<=1)|$wiersz=mysqli_fetch_assoc($wynik)){
      $a++;
			echo '<tr><td>'.$wiersz['nazwisko_imie']. ' <input type="hidden" name="id_pracownika" value="'.$wiersz['id_pracownika'].'">'.'</td><td>'.'<input type="text" name="pon'.$a.'">'.'</td><td>'.'<input type="text" name="wt'.$a.'"> '.'</td><td>'.'<input type="text" name="sr'.$a.'">'.'</td><td>'.'<input type="text" name="czw'.$a.'">'.'</td><td>'.'<input type="text" name="pt'.$a.'">'.'</td></tr>';
		}
}

 

Podobne pytania

0 głosów
2 odpowiedzi 1,536 wizyt
0 głosów
0 odpowiedzi 2,062 wizyt
0 głosów
1 odpowiedź 773 wizyt
pytanie zadane 14 kwietnia 2019 w C i C++ przez randinpa Początkujący (450 p.)

93,774 zapytań

142,731 odpowiedzi

323,383 komentarzy

63,378 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...