Выбранное значение получает от db в выпадающем списке, используя опцию php mysql
Мне нужно получить выбранное значение из db в поле выбора. пожалуйста, скажите мне, как это сделать. Вот код.
Примечание. Значение "options" зависит от категории.
<?php
$sql = "select * from mine where username = '$user' ";
$res = mysql_query($sql);
while($list = mysql_fetch_assoc($res)){
$category = $list['category'];
$username = $list['username'];
$options = $list['options'];
?>
<input type="text" name="category" value="<?php echo '$category' ?>" readonly="readonly" />
<select name="course">
<option value="0">Please Select Option</option>
<option value="PHP">PHP</option>
<option value="ASP">ASP</option>
</select>
<?php
}
?>
Ответы
Ответ 1
Я думаю, что вы ищете ниже изменений кода:
<select name="course">
<option value="0">Please Select Option</option>
<option value="PHP" <?php if($options=="PHP") echo 'selected="selected"'; ?> >PHP</option>
<option value="ASP" <?php if($options=="ASP") echo 'selected="selected"'; ?> >ASP</option>
</select>
Ответ 2
Самый простой способ, о котором я могу думать, это следующее:
PHP
<?php
$selection=array('PHP','ASP');
echo '<select>
<option value="0">Please Select Option</option>';
foreach($selection as $selection){
$selected=($options == $selection)? "selected" : "";
echo '<option '.$selected.' value="'.$selection.'">'.$selection.'</option>';
}
echo '</select>';
Код в основном помещает все ваши параметры в массив, который вызывается в цикле foreach. Цикл проверяет, соответствует ли ваша переменная $options текущему выделенному элементу, если она соответствует, а затем $selected будет = выбрано, если нет, то оно будет пустым. Наконец, возвращается тег опции, содержащий выбор из массива, и если этот конкретный выбор равен вашей переменной $options, он устанавливается как выбранная опция.
Ответ 3
например.. и, пожалуйста, используйте mysqli() в следующий раз, потому что mysql() устарел.
<?php
$select="select * from tbl_assign where id='".$_GET['uid']."'";
$q=mysql_query($select) or die($select);
$row=mysql_fetch_array($q);
?>
<select name="sclient" id="sclient" class="reginput"/>
<option value="">Select Client</option>
<?php $s="select * from tbl_new_user where type='client'";
$q=mysql_query($s) or die($s);
while($rw=mysql_fetch_array($q))
{ ?>
<option value="<?php echo $rw['login_name']; ?>"<?php if($row['clientname']==$rw['login_name']) echo 'selected="selected"'; ?>><?php echo $rw['login_name']; ?></option>
<?php } ?>
</select>
Ответ 4
<select name="course">
<option value="">Please Select Option</option>
<option value="PHP" <?php if($options=="PHP") echo "selected"'; ?> >PHP</option>
<option value="ASP" <?php if($options=="ASP") echo "selected"'; ?> >ASP</option>
</select>
'selected="selected"' instead only "selected" and i think will work
Ответ 5
Выберите значение из раскрывающегося списка.
<select class="form-control" name="category" id="sel1">
<?php
foreach($data as $key =>$value){
?>
<option value="<?php echo $data[$key]->name; ?>"<?php if($id_name[0]->p_name==$data[$key]->name) echo 'selected="selected"'; ?>><?php echo $data[$key]->name; ?></option>
<?php } ?>
</select>
Ответ 6
ЛУЧШИЙ код и простой
<select id="example-getting-started" multiple="multiple" name="category">
<?php
$query = "select * from mine";
$results = mysql_query($query);
while ($rows = mysql_fetch_assoc(@$results)){
?>
<option value="<?php echo $rows['category'];?>"><?php echo $rows['category'];?></option>
<?php
}
?>
</select>
Ответ 7
Это может вам помочь.
?php
$sql = "select * from mine where username = '$user' ";
$res = mysql_query($sql);
while($list = mysql_fetch_assoc($res))
{
$category = $list['category'];
$username = $list['username'];
$options = $list['options'];
?>
<input type="text" name="category" value="<?php echo '$category' ?>" readonly="readonly" />
<select name="course">
<option value="0">Please Select Option</option>
// Assuming $list['options'] is a coma seperated options string
$arr=explode(",",$list['options']);
<?php foreach ($arr as $value) { ?>
<option value="<?php echo $value; ?>"><?php echo $value; ?></option>
<?php } >
</select>
<?php
}
?>
Ответ 8
Вы также можете сделать это...
<?php $countryname = $all_meta_for_user['country']; ?>
<select id="mycountry" name="country" class="user">
<?php $myrows = $wpdb->get_results( "SELECT * FROM wp_countries order by country_name" );
foreach($myrows as $rows){
if( $countryname == $rows->id ){
echo "<option selected = 'selected' value='".$rows->id."'>".$rows->country_name."</option>";
} else{
echo "<option value='".$rows->id."'>".$rows->country_name."</option>";
}
}
?>
</select>
Ответ 9
ИСПОЛЬЗОВАНИЕ POD
<?php
$username = "root";
$password = "";
$db = "db_name";
$dns = "mysql:host=localhost;dbname=$db;charset=utf8mb4";
$conn = new PDO($dns,$username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "select * from mine where username = ? ";
$stmt1 = $conn->prepare($sql);
$stmt1 -> execute(array($_POST['user']));
$all = $stmt1->fetchAll(); ?>
<div class="controls">
<select data-rel="chosen" name="degree_id" id="selectError">
<?php foreach($all as $nt) { echo "<option value =$nt[id]>$nt[name]</option>";}?>
</select>
</div>
Ответ 10
Просто добавьте дополнительную скрытую опцию и распечатайте выбранное значение из базы данных
<option value="<?php echo $options;?>" hidden><?php echo $options;?></option>
<option value="PHP">PHP</option>
<option value="ASP">ASP</option>