不确定最好的解决方法,但实质上我使用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容器中。但是,我也在想,将来我会创建一个&#34;编辑&#34;这些帖子的功能,要求我能够唯一地识别我的SQL数据库中的帖子。
现在我正在考虑添加一个额外的div容器,仅用于存储每个帖子的postID(这是SQL中的主键)。因此,在for循环中,会有一个额外的行:
echo '<div class = "idNum">' .$postID. '</div>';
沿着这些方向的东西(最终通过CSS在视觉上隐藏),然后使用jQuery使用this.val()获取ID值,这将允许我运行编辑帖子的AJAX查询。
然而,我觉得有更好,更清洁的方法来做这件事,并想知道你们是否有任何意见?
答案 0 :(得分:2)
无需额外元素。在每个重复模块上使用data-
属性。
使用jQuery data()方法
可以轻松读取这些内容echo '<div class = "row" data-id="' .$postID. '">';
然后举个例子可以使用:
$('.widget-title').click(function(){
alert( $(this).closest('.row').data('id') );
});