php - 为 PHP 生成的 div 创建唯一标识符?

标签 php jquery html mysql

不确定解决此问题的最佳方法,但本质上我是使用 PHP 从 SQL 数据库中提取帖子,在 for 循环中执行。到目前为止,这是我的代码:

$sql = "SELECT *FROM $tbl_name";
$lastPostID = mysql_num_rows(mysql_query($sql))-1;

//CREATE BLOG POSTS
for ($currPostID = $lastPostID; $currPostID >= 0; $currPostID--){
       $sqlQuery =  "SELECT title, content FROM $tbl_name WHERE postID = '$currPostID'";
       $title = mysql_fetch_array(mysql_query($sqlQuery))['title'];
       $content = mysql_fetch_array(mysql_query($sqlQuery))['content'];
       echo '<div class = "row">';
            echo '<div class = "col-md-12">';
                  echo '<h4 class = "widget-title">' .$title. '</h4>';
                  echo '<p>' .nl2br($content). '</p>';
                  echo '<hr class = "blogborder">';
            echo '</div>';
       echo '</div>';
}

如您所见,我将 SQL 数据库中的每个条目放入页面上它自己的 div 容器中。不过,我也在想,将来我想为这些帖子创建一个“编辑”功能,这要求我能够在我的 SQL 数据库中唯一标识该帖子。

现在我正在考虑添加一个额外的 div 容器,专门用于存储每个帖子的 postID(这是 SQL 中的主键)。因此,在 for 循环中,会有一个额外的行:

echo '<div class = "idNum">' .$postID. '</div>';

沿着这些线的东西(最终通过 CSS 在视觉上被隐藏),然后使用 jQuery 使用 this.val() 获取 ID 值,这将允许我运行 AJAX 查询编辑帖子。

但是,我觉得有更好、更简洁的方法来执行此操作,并且想知道你们是否有任何意见?

最佳答案

不需要额外的元素。在每个重复模块上使用 data- 属性。

这些很容易使用 jQuery data() 方法读取

echo '<div class = "row" data-id="' .$postID. '">';

然后举个例子可以使用类似的东西:

$('.widget-title').click(function(){
    alert( $(this).closest('.row').data('id') );
 });

关于php - 为 PHP 生成的 div 创建唯一标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31822610/

相关文章:

PHP修改从数据库检索的值(编码和特殊字符问题)

javascript - vuejs - 如何使用点击事件附加 html

javascript - 如何动态杀死间隔函数

jquery - 无限卷轴/砌体第二组图像出现在第一组图像后面

javascript - 如何使用 node.js 和 socket.io 通过 WebSockets 流式传输 MP3 数据?

javascript - 仅在确认按钮单击 Angular 时才提供弹出窗口并触发功能

php - 通过 Apache 下载速度比使用 PHP readfile 慢

php - 是否有任何PHP框架可以集成到现有项目中?

php - 如何保持与数据库的连接打开

javascript - 使用 jquery 将 ID 分配给动态生成的元素