php - 通过php从数据库上传数据

标签 php jquery

问题是将公告作为 div 元素上传。我正在寻找一种通过 jQuery 来执行此操作的方法,但是我对 jQuery 知之甚少,因此找不到解决方案。我确实通过 PHP 找到了一个可行的解决方案,但它不是很优雅,我觉得有更好的方法可以做到这一点。

这是代码(announcements.php):

<?php
$sql = $link->prepare('SELECT content, dateset FROM announcements WHERE email=":email"');
$sql->bindParam(':email', $_SESSION['email']);
$sql->execute();
$row = $sql->fetchAll(PDO::FETCH_ASSOC);
foreach ($row as $r) {
    echo '<div class="announcement"><div class="announcementTopBar"><div class="announcementPic"><img src="smiley.png" alt="pic" width="25" height="25" /></div><span>Some Dude</span></div><div id="announcementContent"><span>';
    foreach ($r as $data) {
        echo $data;
    }
    echo '</span></div></div>';
}
?>

HTML 文件:

<div id="somediv">
    <?php include("announcements.php"); ?>
</div>

还有其他方法可以使用吗?这个解决方案(经过一些改进)是否足够?

最佳答案

您的解决方案没有任何问题。另一种选择是使用 AJAX call检索数据,并使用 Javascript 将其附加到 DOM。

使用 PHP 的原因:

  • 并非所有浏览器都支持 Javascript,您可以关闭 Javascript
  • 始终一致地输出数据

使用 AJAX 的原因:

  • 如果您希望在不刷新页面的情况下将新数据添加到您的页面。例如。:
    • “点击此处加载”按钮加载内容而不刷新页面
    • 每隔一段时间自动向页面添加新内容(例如 Facebook 的新闻提要)
    • 以同样的方式删除或编辑数据

注意:我在您的代码中看到的唯一错误是您在循环中定义了 ID 为 announcementContent 的元素 - HTML 规范只允许一个实例DOM 中的 ID。您应该在此处使用一个类,该类旨在(可能)用于一个元素的多个实例。

关于php - 通过php从数据库上传数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24668404/

相关文章:

javascript - 如何检查 ajax 响应的错误列表

javascript - 将对象添加到数组中

javascript - 如何使 html 页面的一个区域重定向到另一个 url 而页面的其余部分保持不变?

php - Codeigniter 中的 Mysql 查询

php - 调用外部 Web 服务的 PHP 脚本的安全 JavasScript

javascript - Jquery Ajax 回调不起作用调用成功和失败

javascript - 如何检查特定的 Javascript 函数是否正在运行和终止?

php - 如何通过路径访问多维数组元素?

javascript - 如何在 anchor 标记内创建下一篇/上一篇文章链接?

jquery 动画在 IE 中的行为不同