在php

时间:2019-06-05 06:40:13

标签: javascript php html mysql mysqli

我有一个下拉列表,其中包含插入数据库中的数据。但是,我想回显下拉列表中显示的名称而不是值。在给定的片段中,我希望显示问题的值,但它始终显示cat_id的值。这只是我所拥有的。如何回显所选值的名称?

@$cat=$_GET['cat'];
if(strlen($cat) > 0 and !is_numeric($cat)){ 
echo "Data Error";
exit;
}
$quer2="SELECT DISTINCT issue, cat_id FROM slider_issue order by cat_id"; 
    if(isset($cat) and strlen($cat) > 0){
        $quer= "SELECT DISTINCT req FROM slider_requirement where cat_id=$cat order by cat_id"; 
    } else {
        $quer= "SELECT DISTINCT req FROM slider_requirement order by req"; 
    } 
echo "<form method = post name = f1 >";


echo "<select name = 'cat' onchange=\"reload(this.form)\" style=\"margin-left: 500px;\">";
    foreach ($dbo->query($quer2) as $row_issue) {
        if($row_issue['cat_id']==@$cat){
            echo "<option selected value='$row_issue[cat_id]'>$row_issue[issue]</option>"."<br>";
        } else {
            echo  "<option value='$row_issue[cat_id]'>$row_issue[issue]</option>";
               }
    }
echo "</select>";
echo "<center><br>";
if(isset($_GET["cat"])){
    $draft= $_GET["cat"];
    echo $draft;
} 

在示例屏幕截图中,1是cat_id值,而已烧毁的转换器是来自行发行的数据。我需要的是回应行问题。因此,应使用已刻录的数据替换1。

enter image description here

1 个答案:

答案 0 :(得分:0)

当您显示表格时,我认为您在连接回显时遇到问题。您可能在PHP中知道,我们使用.连接字符串。在foreach中,当回显时,您没有正确地串联和调用结果的行:

echo "<select name = 'cat' id='firstSelect' style=\"margin-left: 500px;\">";
foreach ($dbo->query($quer2) as $row_issue) {
        if($row_issue['cat_id']==@$cat){
            echo "<option selected value='".$row_issue[cat_id]."'>".$row_issue['issue']."</option><br>";
        } else {
            echo  "<option value='".$row_issue[cat_id]."'>".$row_issue['issue']."</option>";
               }
}

echo "<p class='selected'></p>";

要更改选定选项的刻录值,必须将$row_issue['issue']列另存为该选项的值,因为这是当您请求选定选项时将保存选择对象的值。之所以出现cat_id,是因为您在此处进行了说明:echo "<option value='".$row_issue[cat_id]."'>"...

现在,当您通过Javascript或JQuery选项选中该事件时,需要捕获该事件并刷新以下信息:

$(document).on('change', 'select', function(event) {
    var valueSelected = $('#firstSelect').val();
    $('.selected').val(valueSelected);
});

告诉我它是否适合您。