【问题标题】:Populating Text Field with Data from Mysql Database with PHP使用 PHP 使用 Mysql 数据库中的数据填充文本字段
【发布时间】:2015-10-16 01:26:39
【问题描述】:

我正在尝试使用 MySQL 数据库中的数据填充文本字段,但我的代码似乎无法正常工作。

任何帮助将不胜感激。

代码如下:

<?php include ("../config.php");

// Connect to server and select database.
mysql_select_db($db, $con);

// get value of id that sent from address bar
$id = $_GET['ID'];


// Retrieve data from database
$sql="SELECT * FROM members WHERE id='$id'";
$result=mysql_query($sql);

echo '<form name="Edit" method="post" action="update.php">

<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>Name:</strong></td>
<td align="center"><strong>Contact:</strong></td>
<td align="center"><strong>Division:</strong></td>
<td align="center"><strong>Rank:</strong></td>
</tr>';
            while ($row = mysql_fetch_assoc($result))
            {
            //we will echo these into the proper fields

        echo '<tr>';
        echo '<td align="center"><input name="Name" type="text" id="Name" value="'; echo $row['Name']; echo '"></td>';
        echo '<td align="center"><input name="Contact" type="text" id="Contact" value="'; echo $row["Contact"]; echo'" size="15"></td>';
        echo'<td>
        <select name="Divison">
        <option value="L4D2">L4D2</option>
        <option value="CSS">CSS</option>
        <option value="GMOD">GMOD</option>
        <option value="TF2">TF2</option>
        </select>
        </td>
        <td>
        <select name="Rank">
        <option value="Division Leader">Division Leader</option>
        <option value="Admin">Administrator</option>
        <option value="Member">Member</option>
        </select>
        </td>
        </tr>';


echo '<tr>';
        echo '<td align="center"><input type="submit" name="Submit" value="Submit"></td>
        </tr>
</table>
</td>
</form>';
}
echo '
</tr>
</table>
</body>
</html>';


// close connection
mysql_close();

?>

【问题讨论】:

    标签: php mysql text populate


    【解决方案1】:

    用完整的修复编辑了我的答案:

    <?php include ("../config.php");
    
    // Connect to server and select database.
    mysql_select_db($db, $con);
    
    // get value of id that sent from address bar
    $id = $_GET['ID'];
    
    // Retrieve data from database
    $sql="SELECT * FROM members WHERE id='$id'";
    $result=mysql_query($sql);
    
    echo '<form name="Edit" method="post" action="update.php">
                <table width="400" border="0" cellspacing="1" cellpadding="0">
                    <tr>
                        <td align="center"><strong>Name:</strong></td>
                        <td align="center"><strong>Contact:</strong></td>
                        <td align="center"><strong>Division:</strong></td>
                        <td align="center"><strong>Rank:</strong></td>
                    </tr>';
    while ($row = mysql_fetch_assoc($result)) {
        //we will echo these into the proper fields
    
        echo '<tr>
                    <td align="center"><input name="Name" type="text" id="Name" value="'.$row['Name'].'"></td>
                    <td align="center"><input name="Contact" type="text" id="Contact" value="'.$row["Contact"].'" size="15"></td>
                    <td>
                        <select name="Divison">
                            <option value="L4D2">L4D2</option>
                            <option value="CSS">CSS</option>
                            <option value="GMOD">GMOD</option>
                            <option value="TF2">TF2</option>
                        </select>
                    </td>
                    <td>
                        <select name="Rank">
                            <option value="Division Leader">Division Leader</option>
                            <option value="Admin">Administrator</option>
                            <option value="Member">Member</option>
                        </select>
                    </td>
                </tr>';
    }
    echo     '<tr>
                    <td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td>
                </tr>
               </table>
            </form>';
    
    // close connection
    mysql_close();
    ?>
    

    现在用这个替换整个编码并回复...??

    【讨论】:

    • value="'.$row['Name'].'" 这对我不起作用,我正在尝试在我的结果列中填充带有值的文本字段,这就是我做了

      名字:

    【解决方案2】:

    只是一个猜测,但我认为您在数据库中的列名都是小写的。但是在你的 php 中你有 $row["Contact"]。我认为应该是 $row["contact"]

    【讨论】:

    • 谢谢,但我仔细检查了案例。
    【解决方案3】:

    确保使用具有合法 ID 的查询字符串,例如 example.com?ID=1。如果您要发布一个表单并且该表单的发布方法是 post,您应该使用 $_POST['ID'] 而不是 $_GET['ID']。

    【讨论】:

    • 谢谢。尝试将其更改为 POST 仍然无法正常工作。它也是一个合法的 ID。
    【解决方案4】:

    这段代码:

    $sql="SELECT * FROM members WHERE id='$id'";
    

    应该是这样的

    $sql="SELECT * FROM members WHERE id='{$id}'";
    

    也用

    $result=mysql_query($sql) or die(mysql_error());
    

    用于调试目的。

    删除 mysql_close() 它应该可以工作

    【讨论】:

    • 谢谢。为语法添加了这些。
    【解决方案5】:

    从以前的 cmets 中,您的 url 中的 id 是小写更改 $_GET['ID'] 到 $_GET['id']

    我可以这样做吗?让其他有问题的人不必阅读所有的 cmets

    刚接触这个网站,谢谢!

    【讨论】:

      猜你喜欢
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-05
      • 2011-05-27
      • 1970-01-01
      相关资源
      最近更新 更多