如何打印超链接ONCE?

时间:2014-08-05 05:26:12

标签: php

这些是我的表格:

1. 主题表:

topic_id            subject         
   1                 bla bla      
   2                 two two       

2 内容表:

content_id          topic_id        content                     date
   1                   1             subject description       7/10/2014
   2                   1             reply1                    7/12/2014
   3                   1             reply2                    8/1/2014

如您所见,内容表中的topic_id主题表的外键。 内容表中的content列存储主题(topic_id # 1, for instance的描述/内容以及 repli(es )(content_ids#2,#3)也是典型的topic_id#1。因此,为了打印subject一次,我的代码如下:

$printsubjectonce = FALSE; // Flag variable.

while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

    if (!$printsubjectonce) {

    echo "{$row['subject']}\n"; //subject is printed ONCE

         $printsubjectonce = TRUE;

    }

    //print the content:
    echo "{$row['content']} <br />({$row['date']}\n"; //The subject description and possible repli(es) are repeatedly printed

}// End of WHILE loop.

一切都很好。现在,我想在主题内容下方添加删除超链接,但不在主题行下方。然后,我在<a href="delete.com"> Delete </a>下面添加$row['content']。但是,输出显示 delete 超链接是根据主题获得的可能的重复数量重复打印出来的。但是,我希望将超链接打印出一次(在主题描述之下),尽管主题会有多少重复。

我还尝试移动<a href=...> into the if(!$ printsubjectonce){...}&#39;,在代码$printsubjectonce = TRUE;上方,然后逻辑打印在内容部分上方,我不想这样做。

我现在被困在这里了。你能救我吗?

2 个答案:

答案 0 :(得分:1)

尝试使用类似的东西;

<?php

if (!defined('CODE_EXECUTED')) {
    YOUR_CODE_HERE
    define('CODE_EXECUTED', TRUE);
}

?>

然后您可以将删除按钮放在任何您喜欢的位置;你可以用这样的东西打印删除按钮一次:

 echo "{$row['content']}" . ((!defined('delButton'))?"<a href='delete.com'> Delete </a>":"") . " <br />({$row['date']}\n";
 define('delButton', TRUE);

这将使删除按钮打印一次,据说。测试一下。

答案 1 :(得分:0)

使用两个if语句。第一个用于打印主题标题,第二个用于打印删除链接。将$printsubjectonce = true作业放在第二个作业之后。

$printsubjectonce = FALSE; // Flag variable.

while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
    // Print subject header once
    if (!$printsubjectonce) {
        echo "{$row['subject']}\n";
    }
    //print the content:
    echo "{$row['content']} <br />({$row['date']}\n"; //The subject description and possible repli(es) are repeatedly printed
    // Print delete link once
    if (!$printsubjectonce) {
        echo '<a href="delete.com"> Delete </a>';
        $printsubjectonce = TRUE;
    }

}// End of WHILE loop.