Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] formularz select w pętli while, formularz select w każdym rekordzie z bazy danych
evangelion
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.05.2015

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


Witam.
Piszę aplikację do zarządzania zleceniami i w pewnym momencie stanąłem w martwym punkcie.
Założenie było takie, że aplikacja pobiera wprowadzone wcześniej rekordy z bazy danych i wyświetla je w poszczególnych polach tabeli. Każdy wiersz oprócz danych miał mieć także formularz select. Użyłem do tego tej samej pętli która wyświetla rekordy , żeby mieć selecta w każdym wierszu. Problem polega na tym, iż działa tylko select pierwszego wiersza, a chciałbym , żeby każdy select działał niezależnie w każdym wierszu powiedzmy , że początkowo miałby zmieniać kolory tła w wierszu dla poszczególnego statusu zlecenia.
  1. while($wynik = mysql_fetch_assoc($zapytanie)){
  2. echo '<tr id="row"><td>'.$wynik['zlecenie'].'</td><td>'.$wynik['imie'].'</td><td>'.$wynik['nazwisko'].'</td><td>'.$wynik['telefon'].'</td><td>'
  3. .'<select>
  4. <option value="-">status</option>
  5. <option value="1">przyjeto</option>
  6. <option value="2">realizacja</option>
  7. <option value="3">zrealizowano</option>
  8. <option value="4">zapłacono</option>
  9. </select>
  10. </td></tr>';
  11. }


Będę wdzięczny za podpowiedź.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
salfunglandyare
post
Post #2





Grupa: Zarejestrowani
Postów: 150
Pomógł: 31
Dołączył: 10.01.2007
Skąd: Bydgoszcz/Inowrocław

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


Jeśli chcesz zmienić status po przeładowaniu, to raczej zapisuj go do bazy, na jakiejś podstawie musisz to robić. Jeśli chcesz bezpośrednio, musisz posiłkować się js. Nie wiem, czy korzystasz z jQuery, na wszelki wypadek kod w czystym JS:
  1. var colorChanger = {
  2. init : function(){
  3. var tr = document.getElementsByTagName('TR');
  4. for(var x=0; x<tr.length; x++){
  5. var myTR = tr[x];
  6. var select = myTR.getElementsByTagName('select');
  7. for(var i=0; i<select.length;i++){
  8. var mySELECT = select[i];
  9. if(mySELECT.getAttribute('name') == 'kolory'){
  10. mySELECT.onchange = function(e){
  11. var tr = this.parentNode.parentNode.parentNode;
  12. tr.style.backgroundColor = this.value;
  13. }
  14. }
  15. }
  16. }
  17. }
  18. };
  19. colorChanger.init();


//Edit: jsfiddle: https://jsfiddle.net/uargqf5n/

Ten post edytował salfunglandyare 14.05.2015, 22:39:19
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 23:15