Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL][html] aktualizacja listy rozwijanej
szuwar
post 4.09.2007, 23:47:06
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
PanGuzol
post 4.09.2007, 23:57:01
Post #2





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if($waga=$_POST['waga'])
  3. ?>

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"
Go to the top of the page
+Quote Post
szuwar
post 5.09.2007, 00:15:20
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
Go to the top of the page
+Quote Post
PanGuzol
post 5.09.2007, 00:19:40
Post #4





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


  1. <?
  2.  
  3.  
  4.  if(isset($_POST['waga'])){
  5. $waga=[/b][/b][b][b]$_POST['waga'];[/b][/b]
  6. [b][b] $query = "UPDATE user SET waga='$waga' where username='$username';";
  7.  mysql_query($query);
  8.  echo "test : ";
  9.  echo $waga;
  10.  }
  11.  ?>

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"
Go to the top of the page
+Quote Post
szuwar
post 5.09.2007, 00:23:49
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 sciana.gif

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
Go to the top of the page
+Quote Post
PanGuzol
post 5.09.2007, 00:31:53
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.
  1. Pierwsza lista
  2. </form>
  3. Druga lista
  4. </form>
  5. trzecia lista
  6. </form>
  7. ...


--------------------
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"
Go to the top of the page
+Quote Post
szuwar
post 5.09.2007, 00:38:30
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:43