Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysyłanie value z optiona do bazy
Forum PHP.pl > Forum > PHP
Ruio
Witam . Próbuję zrobić skrypt który będzie wysyłał tylko value do bazy danych sql a nie to co się znajduje w polu jako tekst .

Kod
echo'<form method="post"><select name="wyspa">
';
$wysepki = mysql_query('SELECT `id`, `nazwa`, `x`, `y` FROM wyspy WHERE `owner` = '.$_COOKIE['id']);
while ($wysepka = mysql_fetch_array($wysepki)){
echo '<option>'.$wysepka['id'].'</option>';    }
echo '</select><input type="hidden" name="EditEnd" value="true"/><input type="submit" value="Wyślij"/>
</form>            
';
if($_POST["EditEnd"]=="true")      //sprawdzanie czy formularz został wysłany
{ mysql_query("UPDATE players SET wybrana_wyspa=".$_POST['wyspa']." WHERE id=".$_COOKIE['id']."")or die('Błąd: '.mysql_error());
}


Kod który podałem działa ale przesyła $wysepka['id']. Moje pytanie ? jak zrobić aby przesłało value smile.gif
phpion
Użyj atrybutu value dla elementu option:
  1. <option value="1">Wyspa</option>

Teraz po odebraniu danych będziesz miał "1", a nie "Wyspa".
Ruio
ajj faktyczne mój błąd smile.gif dzięki można zamykać i stawiam piwko smile.gif

P.S Oczywiście działa smile.gif

odświeżam . Działa jak należy ale zapytanie wykonuje się dopiero po odświeżeniu strony a nie automatycznie ;/ próbuje cos wymyslić ale nie mam pomysłu ... wiem że to już nie php ale szkoda robić nowy temat ...

Myslałem nad redirectem ale nie chce mi działac wiec próbowałem go ominąć ale to nie jest dobry pomysł zresztą oto kod po poprawkach ...:

Kod
<form method="post"><select name="wyspa" >
<?php
$wysepki = mysql_query('SELECT `id`, `nazwa`, `x`, `y` FROM wyspy WHERE `owner` = '.$_COOKIE['id']);
while ($wysepka = mysql_fetch_array($wysepki)){
echo '<option value='.$wysepka['id'].'>'.$wysepka['nazwa'].' ('.$wysepka['x'].'°E '.$wysepka['y'].')</option>';    }
echo '</select><input type="hidden" name="EditEnd" value="true"/><input type="submit" value="Wyślij"/>
</form> ';

if($_POST["EditEnd"]=="true")      //sprawdzanie czy formularz został wysłany
{ mysql_query("UPDATE players SET wybrana_wyspa=".$_POST['wyspa']." WHERE id=".$_COOKIE['id']."")or die('Błąd: '.mysql_error());
echo '<meta http-equiv="refresh" content="0;url=podglad.php">  ';
}
pgrzelka
Cytat
Myslałem nad redirectem ale nie chce mi działac
przed redirectem nie może być żadnych innych znaków,
daj if($_POST... na sam początek
Ruio
mógłbyś pomóc jeszcze bo nie rozumiem do końca ;/
phpion
Przesuń aktualizację rekordu przed jego wyświetleniem. Przecież to jest logiczne: jeśli aktualizujesz obiekt po jego wyświetleniu to na ekranie zawsze będziesz miał stare dane, a nowe pojawią się dopiero po odświeżeniu.
Ruio
ja już to zrobiłem smile.gif chodzi mi o to aby się pozbyć tylko inputa odświeżanie już mi odpowiada smile.gif

p.s nie umiem po prostu napisać tego redirecta ;/ w Googlach znalazłem parę przykładów ale nie umiem ich dostosować ;/

edit 2 :

mam takie coś ale jak to zrobić aby działało questionmark.gif
Kod
onchange="eval('location=\''+this.options[this.selectedIndex].value+'\'');"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.