使用下拉列表Jquery从sql填充文本字段

时间:2013-03-09 15:43:33

标签: php mysql ajax

您好第一次这样做,基本上我对如何从数据库重新填充文本框感到困惑。

我目前的问题是,基本上我的数据库'USER'和'STATISTICS'中有两个表。 目前正在运行的是我的代码在'USER'表中查找'User_ID'的值并填充下拉列表中的值。

我想要的是填充文本字段,对应于数据库中查找'User_ID'E'G' goal_scored','assist','clean_sheets'等的那些值。

我很困惑,我已经查看了各种不同的问题,但找不到我想要的东西。

<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("f_club",$link);
$sql = "SELECT * FROM user ";
$aResult = mysql_query($sql);

?>

<html>
<body>
<title>forms</title>
<link rel="stylesheet" type="text/css" href="css/global.css" />
</head>
<body>
<div id="container">

<form action="update.php" method="post">
<h1>Enter User Details</h1>
<h2>
<p> <label for="User_ID"> User ID: </label> <select id="User_ID" id="User_ID" name="User_ID" >
   <br> <option value="">Select</option></br>
    <?php
        $sid1 = $_REQUEST['User_ID'];

        while($rows=mysql_fetch_array($aResult,MYSQL_ASSOC))
        {

        $User_ID = $rows['User_ID'];
        if($sid1 == $id)
        {
        $chkselect = 'selected';

        }
        else
        {
        $chkselect ='';
        }
        ?>
        <option value="<?php echo  $id;?>"<?php echo $chkselect;?>>
        <?php echo $User_ID;?></option>
        <?php }
        ?>
        I had to put this in because everytime I have text field under the User_ID it goes next to it and cuts it off :S


         <p><label for="null"> null: </label><input type="text" name="null" /></p>
    <p><label for="goal_scored">Goal Scored: </label><input type="text" name="Goal_Scored" /></p>
    <p><label for="assist">assist: </label><input type="text" name="assist"  /></p>
    <p><label for="clean_sheets">clean sheets: </label><input type="text" name="clean_sheets" /></p>
    <p><label for="yellow_card">yellow card: </label><input type="text" name="yellow_card" /></p>
    <p><label for="red_card">red card: </label><input type="text" name="red_card" /></p>

    <p><input type="submit" name="submit" value="Update" /></p></h2>
</form>
</div>
</body>
</html>

如果有人可以帮助理解如何进入下一阶段,将非常感谢x

1 个答案:

答案 0 :(得分:0)

我建议不要把时间花在像AJAX这样复杂的东西上,而是建议使用user.php?id=1等简单的页面路径。

制作一个user.php文件(与您的一样),如果设置了idif isset($_GET['id'])),请从数据库中选择该用户(当然,在清理了您的输入之后){{ 1}}(我当然假设每个用户都有一个select * from users where id = $id

您仍然可以使用id,但请记得使用<select>关闭它。你最终会得到这样的东西:

</select>

这会将<form method="get"> <label for="user">Select user:</label> <select name="id" id="user"> <option value="1">User 1</option> ... </select> <submit name="submit" value="Select user" /> </form> 发送到当前页面,然后您可以填写表单。如果您还想编辑该数据,请创建一个新表单,其中的数据填写为?id=<id>等代码,然后确保<input type="text" name="goal_scored" value="<?php echo $result['goal_scored']; ?>" />并监听method="post"并更新您的数据库。

一个例子:

isset($_POST['submit'])

请记住,这只是我所说的想法的一个例子,许多代码已被省略。我通常不喜欢在<?php // init // Use mysqli_ instead, mysql_ is deprecated $result = mysqli_query($link, "SELECT id, name FROM users"); // Create our select while ( $row = mysqli_fetch_array($link, $result, MYSQL_ASSOC) ) {?> <option value="<?php echo $result['id']; ?>"><?php echo $result['name'] ?></option> <?php} // More code ommitted if (isset($_GET['id'])) { $id = sanitise($_GET['id']); // I recommend creating a function for this, // but if only you are going to use it, maybe // don't bother. $result = mysqli_query($link, "SELECT * FROM users WHERE id = $id"); // now create our form. if (isset($_POST['submit'])) { // data to be updated $data = sanitise($_POST['data']); // ... mysqli_query($link, "UPDATE users SET data = $data, ... WHERE id = $id"); // To avoid the 'refresh to send data thing', you might want to do a // location header trick header('Location: user.php?id='.$id); } } 标签之外写实际的HTML,但我认为它可以工作。特别是对于较小的东西。