【问题标题】:reloading div without refreshing the whole page重新加载 div 而不刷新整个页面
【发布时间】:2025-12-24 13:15:11
【问题描述】:

我已将 mysql 数据库与表单内的 div 容器连接起来。但是当mysql数据库中有新元素时,我必须重新加载整个页面才能在div中显示新元素。

div的代码:

<form method="post" action="startseite.php">
<div id="message">
<input type="text" name="spind" value="" size="55" maxlength="90">
<button>Senden</button>
</div></form>

我的 div 容器的 Javascript 代码:

<script type="text/javascript">
$(document).ready(function(){

    $("#content").scrollTop($("#content")[0].scrollHeight);     
    $("button").click(function(){
    var message = $("input").val();
    var old = $("#content").html();

    $("#content").scrollTop($("#content")[0].scrollHeight);

    }); 
});

mysql数据库代码:

<?php
$verbindung = mysql_connect("localhost", "hallo", "123")
or die("Fehler im System");

mysql_select_db("hallo")
or die("Verbindung zur Datenbank war nicht erfolgreich");


$user = $_SESSION['username'];
$message = $_POST['spind'];

$eintrag = "INSERT INTO chat
(user, message)

VALUES
('$user', '$message')";

mysql_query($eintrag);

mysql_close($verbindung);
?>

我已经读到这可以使用 AJAX 来完成,但也许还有另一种方法可以在没有 AJAX 的情况下做到这一点。

【问题讨论】:

  • 咳咳 => mysql_select_db("hallo",$verbindung) ;-) 另外, 缺少session_start();
  • 在开发过程中将错误报告添加到文件顶部error_reporting(E_ALL); ini_set('display_errors', 1);
  • Fred-ii- 是什么意思?
  • 您没有将连接传递给 DB 选择,并且在使用会话时需要加载 session_start();,这未在您的代码中显示。
  • 好的,但是我的 php 文件顶部有 session_start(),mysql 连接没有问题,唯一的问题是我必须刷新才能显示新的数据库信息div

标签: javascript php html mysql ajax


【解决方案1】:

您可以创建一个仅返回数据的 resfull api,然后使用 jquery ajax 进行调用并添加新元素

http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/ http://www.ibm.com/developerworks/web/library/wa-ajaxservice/index.html?ca=dat 教程

【讨论】:

    最近更新 更多