Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用dropdownlist PHP编辑行_Php_Database_Mysqli - Fatal编程技术网

使用dropdownlist PHP编辑行

使用dropdownlist PHP编辑行,php,database,mysqli,Php,Database,Mysqli,我想编辑特定行(当然是您选择的行),如下所示: 这对于大多数行来说都很好,但是我对使用dropdownlist提交的行有一个问题。当我要编辑时,我希望我可以用另一个dropdownlist更新该行,并首先选择该行的值,以便您可以清楚地看到其中的值(可能您不想更改dropdownlist中的值,但您也必须更改它,因为该行中的值未被选中: 为了更好地理解: 假设在“lieferant”字段中是Microsoft。现在我想更改行“name”,但是因为这里的dropdownlist显示了dropdo

我想编辑特定行(当然是您选择的行),如下所示:

这对于大多数行来说都很好,但是我对使用dropdownlist提交的行有一个问题。当我要编辑时,我希望我可以用另一个dropdownlist更新该行,并首先选择该行的值,以便您可以清楚地看到其中的值(可能您不想更改dropdownlist中的值,但您也必须更改它,因为该行中的值未被选中: 为了更好地理解:

假设在“lieferant”字段中是Microsoft。现在我想更改行“name”,但是因为这里的dropdownlist显示了dropdownlist的第一个值,所以每次我都必须将其更改为Microsoft

这是我的下拉列表(在提交文件和更新文件中):

这里是“kstnr”和“kostenstelle”提交到更新文件的按钮:

    <div class="form-group">
                            <label for="formGroupExampleInput2">Lieferant</label>
                            
                                                    <?php

$sql5= "SELECT lieferantID, lieferantname FROM lieferant";
$result5 = $connection ->query($sql5);

if ($result5->num_rows > 0) {

    echo"<select name='lieferantID'>";
    while ($row2 = $result5 ->fetch_assoc()){
    echo"<option value='" . $row2['lieferantID']. "'>" . $row2['lieferantname'] . "</option>";


    }
    echo"</select>";

}

?>
</div>
<td> <button class="btn-primary btn"> <a href="updateliste.php? kstnr=<?php print $row['kstnr']; ?>&kostenstelle=<?php print $row['kostenstelle']; ?>" class="text-white"> Update </a> </button> </td>

感谢您的帮助!

您需要下拉列表中的“选定”标记

见:

您需要从行中获取现有值,然后在循环中检查:当前项是否与我现在添加到列表中的项匹配?如果是,则在代码中添加“Selected”

例如:

echo“$row2['lieferantname']”;
变为(假设现有行数据为$myDetails):

if($row2['lieferanti']=$myDetails['liferant']))
{
$selected=“selected”;
}否则{
$selected=“”;
}
回显“$row2['lieferantname']”;
如果您愿意,if语句也可以用三元运算符缩短。

后续的“行”可能需要“ajax”,这样它就不会在html/dom中预先呈现。
<td> <button class="btn-primary btn"> <a href="updateliste.php? kstnr=<?php print $row['kstnr']; ?>&kostenstelle=<?php print $row['kostenstelle']; ?>" class="text-white"> Update </a> </button> </td>
echo"<option value='" . $row2['lieferantID']. "'>" . $row2['lieferantname'] . "</option>";
if($row2['lieferantID'] == $myDetails['liferant']) 
{
    $selected = "Selected" ;
} else {
    $selected = "";
}
echo"<option value='" . $row2['lieferantID'] . "' '. $selected.' >" . $row2['lieferantname'] . "</option>";