从所选的id填充行的值

时间:2012-08-10 23:46:01

标签: php

我正在使用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>
");

我可以帮助您将所选名称的值填充到输入框中。

2 个答案:

答案 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);
    }
    });
    });
});