我在mysql数据库中有一些数据,应将其插入表单中,以便用户可以对其进行编辑并再次提交。但是在插入过程中,我面临以下问题。

我有一个表列名为“ description”,由一行中的几个单词组成。但是,当我选择它并用php回显时,仅显示第一个单词。

这是我的代码:

modify.html
<html>
<body>
<form action="modify.php" method="post">
<input type="text" name="acronym" id="acronym" value="">
<input type="submit" value="Search for acronym">
</form>
</body>
</html>

modify.php
<?php
$acronym = mysqli_real_escape_string($conn, $_POST['acronym']);

$sql_search="SELECT * FROM `acronym_table` WHERE `acronym` LIKE '$acronym'";

$result = $conn->query($sql_search);
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<form action=\"save_modified.php\" method=\"post\">
                <table>
                    <tr>
                        <td>ID</td>
                        <td><input type=\"text\" value=". $row["id"]. " id=\"id\"></td>
                    </tr>
                    <tr>
                        <td>Acronym</td>
                        <td><input type=\"text\" value=". $row["acronym"] ." id=\"acronym\"></td>
                    </tr>
                    <tr>
                        <td>Description</td>
                        <td><input type=\"text\" value=". $row["definition"]." id=\"definition\" style=\"width: 200px; padding: 2px; border: 1px solid black\"></td>
                    </tr>
                    <tr>
                        <td><input type=\"submit\" value=\"Modify\"></td>
                    </tr>
                </table>
            </form>";
    }
} else{
    echo "0 results";
}

?>


在表格行

<tr>
<td>Description</td>
<td><input type=\"text\" value=". $row["definition"]." id=\"definition\" style=\"width: 200px; padding: 2px; border: 1px solid black\"></td>
</tr>


在“定义”文本区域中,我应该显示从数据库中选择的多个单词。

请帮忙。

最佳答案

您在添加id,首字母缩写词,定义时忘记了双引号,因此浏览器会忽略空格后的所有内容。

这就是为什么您可以看到第一个单词的原因,其他所有内容都将被浏览器删除,因为它对它而言是无效的html。

尝试这个:

<tr>
                    <td>ID</td>
                    <td><input type=\"text\" value=\"". $row["id"]. "\" id=\"id\"></td>
                </tr>
                <tr>
                    <td>Acronym</td>
                    <td><input type=\"text\" value=\"". htmlspecialchars($row["acronym"]) ."\" id=\"acronym\"></td>
                </tr>
                <tr>
                    <td>Description</td>
                    <td><input type=\"text\" value=\"". htmlspecialchars($row["definition"])."\" id=\"definition\" style=\"width: 200px; padding: 2px; border: 1px solid black\"></td>
                </tr>
                <tr>
                    <td><input type=\"submit\" value=\"Modify\"></td>
                </tr>

关于php - 试图显示由单个文本字段中的多个单词组成的mysql数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32223545/

10-12 06:38