[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с Базой
Onehp

<p class="info_user_edit"><select name="sex">
<
option value="1">Не указано</option>
<
option value="2">Мужской</option>
<
option value="3">Женский</option>
</
select></p>


Как правильно сделать что бы при выборе пола в базу отправлялись их значения(value="n") и после этого вытащить из базы и подставить?



Спустя 3 минуты, 57 секунд (20.08.2010 - 17:42) Lenarfate написал(а):
$sex = !empty($_POST['sex']) ? $_POST['sex'] : null;

mysql_query("INSERT INTO `table` SET `sex` = '". $sex ."'");


а выботрка оператором SELECT.

Спустя 10 минут, 54 секунды (20.08.2010 - 17:53) FatCat написал(а):
Цитата (Onehp @ 20.08.2010 - 18:38)
что бы при выборе пола в базу отправлялись их значения(value="n")

Оно и будет отправляться.
Например при выборе мужского пола, на сервере $_POST['sex'] будет равна "2".


Цитата (Onehp @ 20.08.2010 - 18:38)
после этого вытащить из базы и подставить?

Через массив.
Например, вытащили из базы "3". Например в переменную $sex.
Дальше подставляем ее в массив возможных значений:
$sex_arr = array(
'1' => 'Не указано',
'2' => 'Мужской',
'3' => 'Женский',
);

echo $sex_arr[$sex]; // Если $sex равно 2, выдаст "Женский"



Да и Вашу страничку с селектами формировать будет легче:
echo '<p class="info_user_edit"><select name="sex">';
for($i=1;$i<=3;$i++)echo '<option value="'.$i.'">'.$sex_arr[$i].'</option>';
echo '</select></p>';

Спустя 9 минут, 2 секунды (20.08.2010 - 18:02) Onehp написал(а):
Что то по вашему не очень понял мистер кот (FatCat) wink.gif
А вот то как подсказал Lenarfate, есть идея одна, просто что то я туплю.
Выводятся цифры(ну вы сами наверно это поняли,если я это не менял то и будут цифры), а вот как сделать так: "Если $sex = 1 (ну из базы вытащится как один) то "неуказано" если $sex=2 то "м" если $sex=3 то "ж" "
Это так же просто как я думаю или нужно еще по колдовать? smile.gif

Спустя 8 минут, 49 секунд (20.08.2010 - 18:11) Lenarfate написал(а):
Это так же просто

Спустя 12 минут, 38 секунд (20.08.2010 - 18:23) Onehp написал(а):
Блин пришлось пожертвовать параметром "Не указано", но да ладно smile.gif)

Lenarfate Спасибо

Спустя 13 минут, 26 секунд (20.08.2010 - 18:37) Nord написал(а):
Цитата
Блин пришлось пожертвовать параметром "Не указано", но да ладно )

Зачем?

Спустя 1 минута, 9 секунд (20.08.2010 - 18:38) Onehp написал(а):
Ну вот так у меня не получилось, может быть Вы поможете? wink.gif

Спустя 4 минуты, 46 секунд (20.08.2010 - 18:43) Nord написал(а):
Дык вы покажите, как вы сделали. Вы ведь, как я понял, все равно значение пола храните в базе в виде числа?

Спустя 2 минуты, 32 секунды (20.08.2010 - 18:45) Onehp написал(а):
да в виде числа

$result8 = mysql_query("SELECT * FROM users WHERE id='$id'");
$myrow8 = mysql_fetch_array($result8);

if ($myrow8['sex'] = 2){$myrow8['sex'] = 'Мужской';}
else{$myrow8['sex'] = 'Женский';}

echo
'
<p><strong>Пол:</strong> '
.$myrow8['sex'].'</p>'


Скорее всего я глупость приготовил biggrin.gif

Спустя 6 минут, 19 секунд (20.08.2010 - 18:52) Nord написал(а):
Вам же FatCat сказал, как выводить, перечитайте снова его пост
if ($myrow8['sex'] = 2)

Так у вас всегда будет выводится мужской пол. Здесь нужно ==

Ну, а если не нравится вариант FatCat'а можно же сделать два if'а или один switch:
switch ($myrow8['sex']){
case 1: $sex = 'Не указано'; break;
case 2: $sex = 'Мужской'; break;
case 3: $sex = 'Женский'; break;
default: $sex = 'Меньшинства'; break;
}

Спустя 3 минуты, 8 секунд (20.08.2010 - 18:55) Onehp написал(а):
Nord
Благодарю

Спустя 13 минут, 1 секунда (20.08.2010 - 19:08) Onehp написал(а):
Nord, а как сделать, что бы допустим при выборе "Женский" и сохранение, потом через некоторое время человек снова захотел поменять данные, а там "Не Указано" как сделать что бы не было такой ситуации, то есть что бы он выводил тот пол который есть?

Спустя 1 час, 44 минуты (20.08.2010 - 20:52) neversmile написал(а):
<option <?php if($myrow8['sex'] == '2') echo 'selected'; ?> value='2'>Женский</option>

Спустя 17 минут, 32 секунды (20.08.2010 - 21:09) Onehp написал(а):
neversmile, Чуточку по раньше бы smile.gif)Спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.