我正在使用PHP根据数据库中的值将名称填充到选项列表中。 选择名称后,我想根据选择的名称填充行的值。
使用名称值填充选项列表没有问题,但是一旦我选择了名称,该行的记录就不会显示在输入框中。
以下是我正在使用的代码:
$query = "SELECT name, id
FROM artists
ORDER BY name";
$mysql_stuff = mysql_query($query, $mysql_link);
while($row = mysql_fetch_row($mysql_stuff)) {
$artists_name = htmlspecialchars(stripslashes($row[0]));
$artists_id = stripslashes($row[1]);
// we compare the id of the record returned and the one we have selected
if ($artists_id) {
$selected = $artists_id;
} else {
$selected = "";
}
print("<option value=\"$artists_id\">$artists_name</option>
");
}
print("</select>
<input type=\"Submit\" name=\"submit\" value=\"Update\">
<input type=\"Submit\" name=\"delete\" value=\"Delete\">
<br >
<br />
Edit Biography:
</td>
</tr>
");
if (isset($_POST['submit'])) {
print("<tr valign=\"top\">
<td valign=\"top\" width=\"150\">Name</td>
<td valign=\"top\">Artist Biography</td>
</tr>
");
print("<tr valign=\"top\" bgcolor=\"$colour\">
<td valign=\"top\">
<input type=\"text\" name=\"artists_name[$selected]\" value=\"$artists_name\" size=\"40\" />
</td>
<td valign=\"top\">
<textarea name=\"artists_Biography[$selected]\" cols=\"40\" rows=\"10\">$artists_Biography</textarea>
</td>
</tr>
");
}
print("</table>
</form>
");
我可以帮助您将所选名称的值填充到输入框中。
答案 0 :(得分:0)
所以你提交艺术家ID到帖子。然后帖子将刷新或更改页面。假设该操作是该页面,则您的帖子中有ID。你如何从ID获得艺术家姓名?你在id上运行另一个sql查询来查找名称吗?可能需要对代码的顺序进行一些澄清才能提供帮助。感谢
答案 1 :(得分:0)
我不确定如何解释此代码。使用Ajax。在change()方法上使用Jquery获取select的值并通过ajax()将其发送到php脚本,该脚本从DB获取信息并返回您想要的内容。然后使用.ajax()方法的Success部分将该数据放入表单中的输入。
$(function(){
$("select#artist").change(function()
{
var artist = $("select#artist").val();
$.ajax({
type: "POST",
url: "ajax-find-artist.php",
data: "artistID=" + artist,
cache: false,
success: function(html){
var newElems = html;
$("input#artistRestult").html(newElems);
}
});
});
});