wybierz wartość parametru z bazy danych na wybranym
Mam mały problem. Mam stronę edit.php. Ta strona zawiera listę informacji o produkcie, które możesz edytować.
Prowadzę żądanie
while($rows=mysql_fetch_assoc($query)){
echo"<form method=\"POST\" action=\"edit.php\">";
echo "<input type ='hidden' name='ID' value = '{$rows['ID']}'>";
echo "Product:  <input type='text' name='product' value = '{$rows['ProductName']}'>";
Przed pętlą while przechowuję szczegóły w zmiennych jako takie:
$hiddenid = $_POST['ID'];
$productName = $_POST['product'];
i to działa. kiedy ładuję formularz php, pokazuje nazwę produktu (w polu tekstowym), który otrzymał z DB. Problem polega jednak na tym, że chcę zapisać nazwę produktu jako listę rozwijaną, która została już wybrana przez użytkownika, a następnie ją wybrać.
Więc w zasadzie to, co chcę zrobić, to zamiast wyświetlać DB wyodrębnionych parametrów w polu tekstowym, chcę, aby parametr wybrany przez użytkownika pojawił się na liście rozwijanej.
Mam nadzieję, że to ma sens? Dlaczego moje wartości opcji w ogóle się nie wyświetlają, a po drugie nie pokazują również opcji WYBRANE (pobrane z bazy danych).
Proszę o pomoc?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Na samym początku miałeś prosty kod HTML w segmencie PHP.
Wierzę też, że chcesz
Anonimowy użytkownik
Potwierdzenie od:
Przede wszystkim sprawdź wprowadzone dane. Nigdy nie należy ufać żadnym zmiennym od użytkownika $ _GET, $ _POST, itp. Luźność kodu źródłowego po prostu szuka ataku typu SQL injection.
Wygląda na to, że oczekuje jakiegoś rodzaju przekazanego identyfikatora, który następnie wyciągnie productName z bazy danych ... jest naprawdę niejasny. Dlatego zakładamy, że zmienne są już zdefiniowane. Musisz użyć następującego kodu:
Musisz wywołać coś tutaj w zwróconej tablicy ... bez wyświetlania kodu SQL trudno powiedzieć, czego się spodziewasz, ale twoje objaśnienia powinny wyglądać tak ...
Najlepiej jest załadować var dla wszystkiego, a następnie umieścić go w jednej ramce, a nie w PHP i poza nim. Kod będzie znacznie szybszy i możesz go śledzić.
Sprawdź, czy ten identyfikator zadziałał. Regex byłby najlepszy, ale tutaj pojedynczo.
Najlepiej jest używać pól z automatycznym zwiększaniem wartości i wbudowanych identyfikatorów dla mysql, aby nie było szans, że zduplikowany identyfikator przejmie istniejący rekord.