这些是我的表格:
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;
上方,然后逻辑打印在内容部分上方,我不想这样做。
我现在被困在这里了。你能救我吗?
答案 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.