2

好的,所以我将首先显示我的代码,然后我将解释问题所在:

$sql_result = $mysqli->query("SELECT * FROM account_information WHERE username = '".$_SESSION["username"]."'");
while ($row = mysqli_fetch_assoc($sql_result)) {
    $about=$row['about'];

echo'<table>';
echo
<<<EOT
  <form action="profile.php" method="post">
  <textarea name="about" rows="5" cols="50" >{$about}</textarea> 
  <td><input name="submit" type="submit" value="submit"></td>
  </form>

EOT;
echo'</table>';

if ( isset( $_POST['submit'] ) ) { 
        $about = $_POST['about'];
                    $sql_result2 = $mysqli->query("update account_information SET about='".$about."' WHERE username = '".$_SESSION["username"]."'");
        $edit=false;
        echo "<div id='about'>".$about."</div>";
}
}

现在您可以看到,当您在 textarea 中键入内容时,它应该进入我的数据库(确实如此),当我再次进入页面时,我希望显示文本。代码:$about=$row['about'];应该这样做。我似乎找不到问题所在。一开始它只是没有显示它应该显示的任何东西(保存在数据库中的textarea的上一个条目)我该怎么办?问题是什么?

4

2 回答 2

1

您应该将提交代码放在 while 循环之外和选择查询之上。

$about = '';
if ( isset( $_POST['submit'] ) ) { 
    $about = $_POST['about'];
    $sql_result2 = $mysqli->query("update account_information SET about='".$about."' WHERE username = '".$_SESSION["username"]."'");
    $edit=false;
    echo "<div id='about'>".$about."</div>";
}

$sql_result = $mysqli->query("SELECT * FROM account_information WHERE username = '".$_SESSION["username"]."'");

等等 ....

在您的代码中,您首先从数据库中获取旧值,然后再次将其放入数据库中。替换代码新代码和您在文本区域中输入的文本。因此,您需要先将其保存在数据库中,然后再获取它以获取更新的文本。

于 2013-09-23T08:33:44.627 回答
-1

好吧,脚本很难告诉值在它之前更新,所以我会使用这个:

  $sql_result = $mysqli->query("SELECT * FROM account_information WHERE username = '".$_SESSION["username"]."'");
while ($row = mysqli_fetch_assoc($sql_result)) {
    $about= isset($_POST['submit']) ? $_POST['about'] : $row['about'];

echo'<table>';
echo
<<<EOT
  <form action="profile.php" method="post">
  <textarea name="about" rows="5" cols="50" >{$about}</textarea> 
  <td><input name="submit" type="submit" value="submit"></td>
  </form>

EOT;
echo'</table>';

if ( isset( $_POST['submit'] ) ) { 
                    $sql_result2 = $mysqli->query("update account_information SET about='".$about."' WHERE username = '".$_SESSION["username"]."'");
        $edit=false;
        echo "<div id='about'>".$about."</div>";
}
}
于 2013-09-23T08:30:56.790 回答