![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
WItam. Jestem początkujący przy tworzeniu stron, mam więc pewien problem.
Mam listę rozwijaną o nazwie waga, przyjmuje ona wartości od 1 do 150, wartość domyślną(tą co ma być na początku,gdy otwieram stronę) pobiera z bazy mysql, następnie gdy wybieram inną wartość listy, po kliknięciu przycisku np. submit ma nastąpić aktualizacja pola w bazie na wartość którą wybrałem i na liście ma być wyświetlona wartość którą podałem. Wszystko ładnie pobiera, tworzy listę, ustawia wartość, ale po zmianie wartości listy rozwijanej i klinięciu przycisku w bazie następuje zmiana wartości, ale wartość jaka się pojawia na liście to wartość domyślna ta na początku, gdy kliknę przycisk znowu to wartość wyświetlona na liście zmienia się na tą co wybrałem wcześniej, ale w bazie zmienia się wartość na początkową i tak w kółko. Obrazując w przykładzie wygląda to tak: wartość na liście rozwijanej | wartość którą wybrałem 5 7 7 5 5 7 i tak w kółko. Oto część kodu odpowiedzialna za to Kod <form action="test.php" method="POST"> <SELECT name="waga"> <? $query="SELECT * FROM user where username='$username';"; $result=mysql_query($query); $waga=mysql_result($result,0,"waga"); echo "<option selected>$waga</option>"; $i=0; while($i<150) { echo '<OPTION value="'.$i.'">'; echo "$i"; $i++; echo "</OPTION>"; } ?> </SELECT> <? if($waga=$_POST['waga']){ $query = "UPDATE user SET waga='$waga' where username='$username';"; mysql_query($query); echo "test : "; echo $waga; } ?> Może jakiś głupi błąd popełniłem, dopiero się uczę tego wszystkiego. Ten post edytował szuwar 4.09.2007, 23:47:35 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Ten warunek zawsze bedzie spełniony użyj funkcji isset" title="Zobacz w manualu PHP" target="_manual do sprawdzenia czy zmienna $_POST['waga'] istnieje -------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze zrobiłem,ale nadal to samo, kod zmieniłem następująco:
Kod <form action="test.php" method="POST">
<SELECT name="waga"> <? $query="SELECT * FROM user where username='$username';"; $result=mysql_query($query); $waga=mysql_result($result,0,"waga"); echo "<option selected>$waga</option>"; $i=0; while($i<150) { echo '<OPTION value="'.$i.'">'; echo "$i"; $i++; echo "</OPTION>"; } ?> </SELECT> <? if(isset($_POST['waga'])){ $waga=[/b][/b][b][b]$_POST['waga'];[/b][/b] [b][b] $query = "UPDATE user SET waga='$waga' where username='$username';"; mysql_query($query); echo "test : "; echo $waga; } ?> Ten post edytował szuwar 5.09.2007, 00:16:05 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Ten blok kodu umieść na samym początku tzn. przed pobraniem danych do formularza. -------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, pomogło. Sam męczyłem się z tym ponad 3h
![]() Mam takie jeszcze jedno małe pytanie;), żeby zatwierdzić coś, zaktualizować pole klikam na Kod <input type="submit" name="submit" value="submit" /> i wtedy aktualizują sie wszystkie rzeczy na stronie, a gdy będę miał np 10 list rozwijanych i bym chciał żeby do każdej był osobny przycisk? Jest na to jakiś sposób? Ten post edytował szuwar 5.09.2007, 00:27:48 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Każda lista jako osobny formularz.
-------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam już tak i to nic nie daje, ponieważ i tak mam jeden przycisk i jak go kliknę to wszystkie pola są aktualizowane. Może źle to wytłumaczyłem. Szkielet mojej strony wygląda następująco:
Kod kod html <form action="test.php" method="POST"> //lista rozwijana <SELECT name="p1"> . . . </Select> </form> //przechwytywanie tego co wysyła lista <form action="test.php" method="POST"> //lista rozwijana <SELECT name="p2"> . . . </Select> </form> //przechwytywanie tego co lista wysyła . . . . <input type="submit" name="submit" value="submit" /> I jak kliknę submit, to z każdej listy odczytywana jest aktualna pozycja i wysyłana, a chce żeby do każdej listy/formularza był osobny przycisk, który by tylko dla niego działał. Ten post edytował szuwar 5.09.2007, 00:43:36 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 07:43 |