Wpis z mikrobloga

Mam formularz składający się z kilku pól input oraz pola select, któe pobiera wartości z bazy danych a następnie zapisuj numer id wybranego pola w bazi danych. Zapis działa poprawnie problem pojawi się w przypadku edycji rekordu pola input wyświetlają się poprawnie natomiast select pokazuje pierwszą wartość niezależnie od wybranej pozycji. Dane z formularza wysyłane są poprzez POST

if($result2 = $mysqli->query("SELECT id,miasto FROM lubelskie by id")){
if($result2->num_rows >0) {
echo "";
while($row = $result2->fetch_object()){
echo "" . $row->miasto . "";
}
echo "";

#programowanie #php #mysql
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@energetyk: wstaw na jakiegoś pastebin większy fragment kodu. Ale mam wrażenie, że nie do końca wiesz co i jak piszesz. Znasz podstawy czy modyfikujesz sobie jakiegoś gotowca/kurs?
  • Odpowiedz
@energetyk: W żadnym miejscu nie widzę sprawdzania warunku, o którym pisałem poprzednio. Ogólnie widzę b----l w kodzie, więc na spokojnie przeanalizuj to co masz, wyodrębij problematyczny fragment i na nowo przeanalizuj. I napisz jeśli nie rozumiesz oraz najlepiej czego dokładnie nie rozumiesz :)
  • Odpowiedz
@energetyk: Formularz przesyłasz postem, ale wczytujesz go (i generujesz) GETem. Dlatego tablica $POST jest pusta. Powinieneś pobrać rekord, który edytujesz do zmiennej np $current i przy wyświetlaniu robisz if($current->miastoid == $row->id) - czyli sprawdzasz czy ID danego miasta jest takie samo jak Twojego edytowanego obiektu. I tak analogicznie dla pozostalych sekcji
  • Odpowiedz