2014-02-16 79 views
1

我试图围绕PHP和变量作用域。看看下面的例子:PHP foreach循环外循环

<?php foreach ($data as $tip) { ?>    
    <tr> 
    <td><?php echo $tip['id']; ?></td> 
    <td><?php echo $tip['title']; ?></td>     
    <td class="delete"><a href="#deleteModal" class="modal"><i class="icon-cross"></a></i></td> 
    </tr>             
<?php } ?> 

这只是运行一个foreach循环翻出数据库的一些信息,并将其显示在表格中。最后一个表格单元格中有一个图标用于删除该文章。我想要做的是有一个模式弹窗,要求符合删除该特定的文章,但我不能将尖端id与删除按钮,因为模式窗口坐落在循环之外。我怎样才能访问个人ID?

+2

PHP已经无关,与模态弹出窗口,或任何形式的弹出窗口。这纯粹是客户端的事情。你需要一些JavaScript来处理点击事件,这些事件将“知道”哪个元素被点击,所以你可以提取ID和什么。 –

回答

0

这样做:

<?php foreach ($data as $tip) { ?>    
    <tr> 
    <td><?php echo $tip['id']; ?></td> 
    <td><?php echo $tip['title']; ?></td>     
    <td class="delete" onclick="deleteArticle(<?php echo $tip['id'] ?>)"> 
     <a href="#deleteModal" class="modal"> 
      <i class="icon-cross"></i> 
     </a> 
    </td> 
    </tr>             
<?php } ?> 

<script> 
    function deleteArticle(id){ 
    // now you can do what ever you want to do with this id 
    } 
</script> 
+0

我现在明白了,谢谢。虽然我发现“删除”是一个保留字,所以我将函数名改为“deleteArticle” – AfricanMatt

+0

欢迎您,祝你好运 –

0

有一个名为“确认”的内置javascript函数。

如果您使用jQuery(我假设你)试试这个:

$('.delete').click(function(){ 
    var check = confirm("Are you sure you want to delete this article?"); 
    if(check) 
    { 
    // you code here 
    } 
    else return false; 
});