Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja rekordu - checkbox
Forum PHP.pl > Forum > Bazy danych > MySQL
mariuszzzzzz
Prosze o nakierowanie mnie w sprawie edycji rekordu z bazy danych tez przy pomocy checkbox. Inne mozliwosci juz znam tylko jak np wyswietlic checkbox ktory jest zaznaczony i gotowy do edycji?
maniekl2
nie rozumiem zbytnio ale chodzi ci o to że jak np jest zaznaczony checkbox to pole jest 1 a jak nie to 0 ?
mariuszzzzzz
przy dodawaniu wpisu do bazy w formularzu pokazuje mi sie lista do wyboru w postaci checkbox po zaznaczeniu tylko dana wartosc np. "obluga w jezyku polskim" zostaje wpisana do odpowiedniej kolumny w bazie. I jak zrobic zeby to odczytac w formularzu edytujacym wpisy i aby sie pokazalo ze to juz kiedys wybrano i ze mozna to zmienic czyli oddznaczajac i wybrac cos innego.
di@blo
Ale masz zawile przedstawienie sytuacji tongue.gif To je problem z php nie mysql

wczytujesz do zmiennej np $zaznaczenie wartosc z bazy i sprawdzasz warunek

  1. .
  2. <input type="checkbox" name="option2" value="Butter" <?php if($zaznaczenie == 1){ echo 'checked'; } ?> >
  3. .


jesli warosc w bazie to 1 czyli zaznaczone to wyswietla checked w formularzu i checkbox jest zaznaczony
mariuszzzzzz
u mnie problem polega na tym jeszcze ze np w $pokoje nie ma wartosci 1 albo 0 tylko tekst np."-łazienki z wanną<br>-radio<br>-TV"

w kodzie dodawania do pola $zaznaczenie mam cos takiego

  1. <?php
  2. if (isset($pokoje))
  3. {
  4. $k = 0;
  5. while ($pokoj = $_POST['pokoje'][$k])
  6. {
  7.  $wynik=mysql_query("SELECT * FROM `pokoje` WHERE id='$pokoj'");
  8. while ($wiersz = mysql_fetch_array($wynik))
  9.  {
  10.  $pokojeadd.='-'.$wiersz['nazwa'].'<br>';
  11.  }
  12.  $k++;
  13. }
  14. }
  15. ?>


a w formularzu tak to sie pokazuje:
  1. <?php
  2.  
  3. $wynik=mysql_query("SELECT * FROM `pokoje`");
  4. while ($wiersz = mysql_fetch_array($wynik))
  5. {echo'
  6. <input type=checkbox name=pokoje[] value='.$wiersz['id'].'> '.$wiersz['nazwa'].'</div>';
  7. }
  8. ?>
di@blo
To nie ma zanczenia ze niektore pola z bazy nie maja wartosci

  1. <input type="checkbox" name="option2" value="Butter" <?php if($zaznaczenie == 1){ echo 'checked'; } ?> >.


to zalatwia wszystko jesli ma wartosc 0 lub nie ma zadnej wartosci to nie wyswietli "checked" w inpucie i nie bedzie zaznaczony Dodatkowo mozesz zmienic te rekordy i wprowadzic im wartosc domysla 0
mariuszzzzzz
nienstety taki sposob u mnie nie dziala. ale wpadlem na pomysl ze jesli najpierw odczytam z tabeli pokoje wszystkie feldy ktore sa mozliwe do zaznaczenia checkbox w formularzu i potem sprawdzi ktore z nich sa w feldzie pokoje innej tabeli (tej w ktorej chcem edytowac wpis).
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.