我在从select标签中获取用户所选文本时遇到问题。我看过其他类似的问题,但没有一个真的有帮助。
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<select name="Select" id="vals" onchange="this.form.submit()" class="btn btn-warning">
<option value="">-- Select Country --</option>
<?php
$user = new User();
$sql5 = DB::getInstance()->get('country', array('user', '=', $user->data()->username));
if (!$sql5->count()) {
echo 'No data';
} else {
foreach ($sql5->results() as $sql5) {
?>
<option value="country"><?php echo $sql5->name;?></option>'; <?php
}}
?>
</select>
</form>
</div>
下拉列表中包含分配给用户的国家/地区列表,但当我点击该国家/地区以输出有关该国家/地区的详细信息时,则无显示任何内容。
<?php
if (isset($_POST['Select']) && !empty($_POST['Select'])) {
$userSelection = $_POST['Select'];
$sql = DB::getInstance()->get('country',array('country', '=', $userSelection));
if (!$sql->count()) {
echo 'no data';
} else {
foreach ($sql->results() as $sql) {
echo 'data'; }
查询获取从国家/地区表中选择的国家/地区的数据。当我将查询中的$ userSelection更改为特定国家/地区名称时,将显示该国家/地区的数据。我认为问题可能是select标签中的选项值,但我不确定。
答案 0 :(得分:0)
所有请求的值都相同。更新到
<option value="<?php echo $sql5->country ?>"><?php echo $sql5->name;?></option>
这假设标识列为country
,因为这是select查询中的where子句。