Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP: Select > märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 21.05.2013 13:06:15 PHP: Select > vasta tsitaadiga

Andmed on andmebaasis.

Select'i osas valin Inglismaa ja salvestan. Andmed salvestab ilusti ära, kuid "--määramata--" jääb alatiseks nähtavale.
Teoorias peaks olema nii, kui valida Inglismaa, siis peaks see ka sinna nähtavale jääma.

Viga peitub siin aga lahendus puudub: echo "<option value=\"\">--Määramata--</option>";


function get_select_countries($id)
{
   
   $sql = "SELECT id,country FROM countries ORDER BY id ASC";
   $res = mysql_query($sql);
      
   echo "<select id=\"country\" class=\"searchbox\" name=\"country\">";
      echo "<option value=\"\">--Määramata--</option>";
      while ($row = mysql_fetch_assoc($res)){
         echo "<option value=\"".$row['country']."\">".$row['country']."</option>";
         }
   echo "</select>";
}
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
Valdars
HV veteran
Valdars

liitunud: 22.02.2003




sõnum 21.05.2013 13:12:23 vasta tsitaadiga

http://www.w3schools.com/tags/att_option_selected.asp
Kommentaarid: 47 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 44
tagasi üles
vaata kasutaja infot saada privaatsõnum
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 21.05.2013 13:29:44 vasta tsitaadiga

Tegin trikke:
echo "<option selected=".$row['country']." value=\"".$row['country']."\">".$row['country']."</option>";


Nüüd jääb Belgia alati esimeseks... icon_razz.gif
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 21.05.2013 17:57:43 vasta tsitaadiga

Kui just <select multiple ...> pole, siis peab selected ainult ühel määratud olema. Ehk siis umbes nii:
php:
  1.  
  2. echo "<option ".($id==$row['country']?"selected ":"")."value=\"".$row['country']."\">".$row['country']."</option>";
  3.  


seda siis eeldusel, et sinu funktsiooni sisendparameeter $id ikka on valitud riik.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 21.05.2013 23:29:12 vasta tsitaadiga

Endiselt ei hakka tööle ja "määramata" on aktiivne...

function get_select_countries($id)
{
   
   $sql = "SELECT id,country FROM countries ORDER BY id ASC";
   $res = mysql_query($sql);
      
   echo "<select id=\"country\" class=\"searchbox\" name=\"country\">";
      echo "<option value=\"\">--määramata--</option>";
      while ($row = mysql_fetch_assoc($res)){
         echo "<option ".($id==$row['country']?"selected ":"")."value=\"".$row['country']."\">".$row['country']."</option>";
         }
   echo "</select>";
}
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
LiivaneLord
Sõpradele "Olavi"

liitunud: 20.06.2006




sõnum 22.05.2013 07:59:16 vasta tsitaadiga

tulema, viga peab olema sul sisendis ($id), sest minul see kood töötab. Kui kutsun funtsiooni get_select_countries("Norra"), siis on valitud norra.
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 19
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP: Select >
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.