MYSQL在php中生成选定值

MYSQL在php中生成选定值,php,mysql,Php,Mysql,我有3个SQL表,美术师、曲目和曲目\u美术师=链接表,因为一个曲目可以有多个美术师,所以我只能使用链接表 我现在有一个编辑页面,我想显示4个选择,你可以选择一个艺人,但曲目的艺术家已经被选中。因此,如果一个曲目有两个艺术家,我希望前两个选择与我的数据库中的所有其他艺术家一起显示以前选择的艺术家,而其他两个选择仅显示选择中的所有艺术家,没有选择任何人 我现在使用这个,但这只在曲目只有一个艺术家时有效: <select name="edit_artist"> <?php $qu

我有3个SQL表,美术师、曲目和曲目\u美术师=链接表,因为一个曲目可以有多个美术师,所以我只能使用链接表

我现在有一个编辑页面,我想显示4个选择,你可以选择一个艺人,但曲目的艺术家已经被选中。因此,如果一个曲目有两个艺术家,我希望前两个选择与我的数据库中的所有其他艺术家一起显示以前选择的艺术家,而其他两个选择仅显示选择中的所有艺术家,没有选择任何人

我现在使用这个,但这只在曲目只有一个艺术家时有效:

<select name="edit_artist">
<?php 
$query_artist = "SELECT * FROM artists";
$result_artist = mysql_query($query_artist) or die(mysql_error());
while ($row_artist = mysql_fetch_array($result_artist)) {?>
<?php
$query_ta = "SELECT artistID FROM tracks_artists WHERE trackID = $trackID";
$result_ta = mysql_query($query_ta);
    while ($row_ta = mysql_fetch_array($result_ta)){
        if($row_ta[0]==$row_artist[artistID]){$selected = "selected='selected'";}
        else {$selected ="";}
    } 
?>
<option value="<?php echo $row_artist[artistID]?>" <?php echo $selected;?>><?php echo $row_artist[name];?></option>
<?php }?>
</select>

您需要在select上使用多属性

<select name="edit_artist" multiple="multiple">
如果要提交此文件,需要使用括号将“编辑艺术家名称”设置为数组

<select name="edit_artist[]" multiple="multiple">