Питане са SELECT елемент

instanceof

Registered
Във форма за имам списък с select елемент
Код:
<select name="sp">
<option value="1">Bulgaria
<option value="2">USA
<option value="3">Argentina
и т.н.т

Всичко това се записва в база данни. След това при изчитане от базата данни стойността, която е запаметена да бъде selected. Примерно при попълване на формата сме избрали USA (value 2) Ако решим да редактираме по-късно формата при изчитането на стойността от базата данни да бъде избрана USA
 
Явно не съм се изразил правилно.

Пример:
Имам форма за регистрация име, фамилия и т.н.т като има списък от който се избира държава. До тук всичко наред. Записвам си всичко в база данни. Но да речем потребителя решава да промени някои от личните си данни. При визуализиране на страницата за промяна на данните си ги има същите полета име, фамилия и т.н.т (тоест тези, които са ползвани при регистрацията) но как да направя така че списъка от държави да е избрана държавата, която е посочена при регистрацията
 
А как са записани държавите ти - в дадена таблица в базата данни или статично са въведени?
Става дума за списъка със всички държави между които можеш да си избереш твоята.
 
Ето ти един пример от мене писан:



Код:
$sql = "SELECT * FROM novini WHERE id='$id'";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);

$kategoria = $row['kategoria']; //Това е ID на категорията която е новината

$sql1 = "SELECT * FROM kategorii WHERE id='$kategoria'";
$res1 = mysql_query($sql1);
$row1 = mysql_fetch_assoc($res1);
$kategoria_name = $row1['kategoria_name']; // Намираме името на категорията на новината

$sql2 = "SELECT * FROM kategorii";
$res2 = mysql_query($sql2);
echo "Изберете категория:<select name='kategoria'><option value='$kategoria'>$kategoria_name</option>"; // тука селектира избраната категория от преди
	while ($row2 = mysql_fetch_assoc($res2)) //изкарваме останалите категории
	{ echo "<option value='$row2[id]'>$row2[kategoria_name]</option>"; }
 
Трябва да подадеш на променливата $user_country - ид-то държавата на съответния потребител от предна заявка или както сте го направили.
Код:
<select name="county">
<?
    $c_query = mysql_query("SELECT * FROM table ORDER BY country_id ASC");
    while ($r = mysql_fetch_array($c_query)) {
        if ($r['country_id'] == $user_country) { $selected_c = "selected='selected'"; } else { $selected_c = NULL;}
			echo "<option value='$r[country_id]' $selected_c >$r_s[country]</option>";
    }
?>
</select>
 
Благодаря,
но по този начин извеждаш избраната категория като първа, а не в нейната поредица.

Това, което искам да се получи е категорията да бъде визуализирана в реда в който се намира.

Ако избраната държава е USA, то тя да се визуализира но преди нея да бъде Bulgaria, а след нея Argentina
 
Ами не се поставя като първа - работи така - следи дали текущата стоиност е като тази на потербителя, ако не е продължава със списъка, ако е равна, тогава поставя синтаксиса да бъде избрана и продължава.
Подреждането на държавите може да се нагласи от този ред как да бъде и по какво да се подредят

Код:
$c_query = mysql_query("SELECT * FROM table ORDER BY country_id ASC");
 

Back
Горе