Dzień dobry!
Ma problem ze zmieną, którą wykorzystuję do określenia początkowej pozycji w formularzu. Na początku, jeżeli zmienna ($b) nie istnieje ustawiam domyślną wartość formularz (p1). Potem z listy wybieram to co mnie interesuje np. p2 lub p3 i wysyłam zapytanie do bazy. Z bazy pobieram wyniki i do zmiennej $b przypisuję nową wartość. W tym momencie w okienku formularza powinna wyświetlać mi się wartość z tej zmiennej ($b). Niestety nadal wyświetla mi się wartość p1. Dodam jeszcze, że jak sprawdzam na końcu wartość zmiennej to wyświetla mi się prawidłowa, oczekiwana wartość. Nie mogę dojść, gdzie popełniam błąd. Czy w którymś miejscu $b resetuje mi się poprzez fakt, że formularz jest wysyłany wewnętrznie?
Poniżej kod:
<?php if(isset($b)) { $idkomentarze=$b; } else { $idkomentarze="p1"; } ?> <form action="" method="post"> <h1>Formularz aktualizacji komentarzy</h1> <select style="width: 100px" name="idkomentarze"> <option value="<?php echo $idkomentarze; ?>"><?php echo $idkomentarze; ?></option> <option value="p1">p1</option> <option value="p2">p2</option> <option value="p3">p3</option> </select> <input type="submit" value="Pobierz komentarz" /> </form> <?php $idkomentarze = $_POST['idkomentarze']; require_once "connect.php"; $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name); if ($polaczenie->connect_errno!=0) { echo "Error: ".$polaczenie->connect_errno; } else { $wynik = @$polaczenie->query("SELECT `idkomentarze`, `komentarz` FROM `komentarze` WHERE `idkomentarze`= '$idkomentarze'"); $ile = $wynik->num_rows; for ($i = 0; $i < $ile; $i++) { $wiersz = $wynik->fetch_assoc(); $a = $wiersz['komentarz']; $b = $wiersz['idkomentarze']; } $wynik->free_result(); $polaczenie->close(); } ?>
Z góry dziękuję za pomoc.
Pozdrawiam
Filip.