所以我有一个while循环,我正在从数据库中删除它们的名称和描述 因此,当我单击任何一个部件时,我都希望模态显示我在模态中单击的项目的名称,希望这张图片能更好地描述它 下面是我到目前为止的代码 当我单击模式时,无论在何处单击
,我都会显示列表中第一项的名称 while($row = mysqli_fetch_assoc($result))
{
$name= $row['name_of_product'];
$description = $row['description']
?>
<a href="#" data-toggle="modal" data-target="#mymodal">
<div class="col-sm-4">
<?php echo name; ?>
<?php echo description ; ?>
</div>
</a>
<div id="mymodal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p><?php echo $name; ?></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<?php } ?>
答案 0 :(得分:0)
好像您没有序列化模态...如果您想以这种方式进行操作,您的代码应该像这样;
<!-- language-all: lang-html -->
while($row = mysqli_fetch_assoc($result)) {
$procuct_id = $row['ID'];
$name = $row['name_of_product'];
$description = $row['description']
?>
<a href="#" data-toggle="modal" data-target="#mymodal_<?php echo $procuct_id;?>">
<div class="col-sm-4">
<?php echo name; ?>
<?php echo description ; ?>
</div>
</a>
<div id="mymodal_<?php echo $procuct_id;?>" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p><?php echo $name; ?></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<?php }
<--
一个更好的方法是编写一个javascript函数以显示通用模态窗口,然后运行ajax调用以将您的信息加载到“ modal-body” div中。您必须将唯一的ID传递给该调用,以使您的Ajax脚本进入数据库并获取要显示的信息。
答案 1 :(得分:0)
您没有按照自己的方式做事。您正在为while循环的每次迭代重新创建 mymodal ,这不是实现所需目标的更好方法。 请按照以下步骤操作。
1-在while循环之外创建mymodal。
2-将当前行的ID传递给javascript函数,并使用javascript填充该id的数据。
我已经设定了需要做的事情。尝试以下代码
add_filter( 'woocommerce_get_catalog_ordering_args', 'enable_catalog_ordering_by_modified_date' );
function enable_catalog_ordering_by_modified_date( $args ) {
if ( isset( $_GET['orderby'] ) ) {
if ( 'modified_date' == $_GET['orderby'] ) {
return array(
'orderby' => 'modified',
'order' => 'DESC',
);
}
}
return $args;
}
add_filter( 'woocommerce_catalog_orderby', 'add_catalog_orderby_by_modified_date' );
function add_catalog_orderby_by_modified_date( $orderby_options ) {
// Rename 'menu_order' label
$orderby_options['modified_date'] = __("Sort by modified date", "woocommerce");
return $orderby_options ;
}