【问题标题】:Create a unique identifier for PHP generated divs?为 PHP 生成的 div 创建唯一标识符?
【发布时间】:2015-08-05 02:48:44
【问题描述】:

不确定解决此问题的最佳方法,但基本上我使用 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 查询来编辑帖子。

但是,我觉得有一种更好、更简洁的方法可以做到这一点,想知道你们是否有任何意见?

【问题讨论】:

  • 您可以使用随机字符串作为id的名称。
  • 顺便说一句,停止使用已弃用的 mysql_* 函数;请改用 PDO / MySQLi。

标签: php jquery html mysql


【解决方案1】:

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

使用 jQuery data() 方法可以轻松读取这些内容

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

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

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

【讨论】:

    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多