我做错了什么? Html令人困惑

时间:2017-12-19 13:49:33

标签: php

我正在创建一个页面,您必须在文本框中输入文本并单击发送,另一个页面将保存它。 此外,在第一页上,必须加载先前存储在数据库中的文本。这是我得到的代码:

 <?php
$databaseid = 3;
$servername = "jog4fun.be.mysql";
$username = "jog4fun_be";
$password = "****";
$dbname = "jog4fun_be";

$gettitel1 = null;        
$gettext1 = null;

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT Id,Titel,Tekst FROM Teksten";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        if ($row["Id"]== $databaseid ){
            $gettitel1 = $row["Titel"];
            $gettext1 = $row["Tekst"];
        }

    }
} else {
    echo "0 results";
}
$conn->close();


$gettitel1 = strip_tags($gettitel1, '<br>');

$link1 = '<textarea id = "klein" rows="4" cols="50" name="titel3" form="usrform">' . $gettitel1 . '</textarea>';
$link2 = '<textarea id = "groot" rows="4" cols="50" name="text3" form="usrform">' . $gettext1 . '</textarea>';

echo $link1;
echo $link2;
?>

问题是它从文本框发送文本,名称为text3,文本为post1函数。有人能弄清楚它有什么问题吗?我已经打了一个小时,我没有找到它。 感谢您的时间和帮助, 纳斯

1 个答案:

答案 0 :(得分:0)

就在这里:

while($row = $result->fetch_assoc()) {
    if ($row["Id"]== $databaseid ){
        $gettitel1 = $row["Titel"];
        $gettext1 = $row["Tekst"];
    }

每次迭代时都会覆盖两个变量的值。因此,在这段代码之后,您将保存从db返回的最后一个值。 你应该在你的查询中添加一个WHERE子句来识别你需要的唯一记录,这样你就只能获取相关的数据。例如:

$sql = "SELECT Id,Titel,Tekst FROM Teksten WHERE Id='1'";