我似乎无法获得我正在寻找的 IF 条件
I can't seem to get the IF condition I'm looking for
我的功能正常工作,我似乎无法获得正确的 IF 条件来将其全部包装起来。我想要实现的只是创建 link 列表,如果 WHILE 有任何内容显示。
所以如果我在线程 ID 3 上并且它有 2 个插件线程 ID 4,5 它将创建:
<ul>
<li><a href="showthread.php?t=4">Link 4</a></li>
<li><a href="showthread.php?t=5">Link 5</a></li>
</ul>
如果我在线程 2 上并且它没有插件线程 ID,它应该 return 没有。
这是我目前没有条件的。
$addonid = $db->query_read ("
SELECT drc.threadid AS threadid
FROM `" . TABLE_PREFIX . "modsys_settings` AS drc
LEFT JOIN `" . TABLE_PREFIX . "thread` AS thread
ON(drc.mod_addons=" . $threadinfo['threadid'] . ")
WHERE thread.threadid IN (" . $threadinfo['threadid'] . ")
");
$post['addons'] = '<ul>';
while ($addons = $db->fetch_array ($addonid)) {
$ci_counter = $db->query_read ("
SELECT drc.mod_addons AS addon, drc.threadid, thread.threadid AS threadid, thread.title AS threadtitle
FROM `" . TABLE_PREFIX . "modsys_settings` AS drc
LEFT JOIN `" . TABLE_PREFIX . "thread` AS thread ON(drc.mod_addons=" . $threadinfo['threadid'] . ")
WHERE thread.threadid IN (" . $addons['threadid'] . ")
");
$counter = $db->fetch_array ($ci_counter);
$post['addons'] .= '<li><a href="showthread.php?t=' . $addons['threadid'] . '">'. $counter['threadtitle'] .'</a></li>';
}
$post['addons'] .= '</ul>';
我玩的不多php,所以我会给你一般的指导。
只需使用一个布尔变量来控制何时创建 init 标签并关闭它。
@i_create_a_tag = false;
while ( something ) {
-- open the tag only once
if (!@i_create_a_tag) {
$post['addons'] = '<ul>';
@i_create_a_tag = true;
}
....
}
-- close the tag if was open
if (@i_create_a_tag) {
$post['addons'] = '</ul>';
}
你能做类似 $addonid->num_rows
的事情吗?
$show_list = $addonid->num_rows;
if($show_list)
$post['addons'] = '<ul>';
然后过了一会儿
if($show_list)
$post['addons'] = '</ul>';
我的功能正常工作,我似乎无法获得正确的 IF 条件来将其全部包装起来。我想要实现的只是创建 link 列表,如果 WHILE 有任何内容显示。
所以如果我在线程 ID 3 上并且它有 2 个插件线程 ID 4,5 它将创建:
<ul>
<li><a href="showthread.php?t=4">Link 4</a></li>
<li><a href="showthread.php?t=5">Link 5</a></li>
</ul>
如果我在线程 2 上并且它没有插件线程 ID,它应该 return 没有。
这是我目前没有条件的。
$addonid = $db->query_read ("
SELECT drc.threadid AS threadid
FROM `" . TABLE_PREFIX . "modsys_settings` AS drc
LEFT JOIN `" . TABLE_PREFIX . "thread` AS thread
ON(drc.mod_addons=" . $threadinfo['threadid'] . ")
WHERE thread.threadid IN (" . $threadinfo['threadid'] . ")
");
$post['addons'] = '<ul>';
while ($addons = $db->fetch_array ($addonid)) {
$ci_counter = $db->query_read ("
SELECT drc.mod_addons AS addon, drc.threadid, thread.threadid AS threadid, thread.title AS threadtitle
FROM `" . TABLE_PREFIX . "modsys_settings` AS drc
LEFT JOIN `" . TABLE_PREFIX . "thread` AS thread ON(drc.mod_addons=" . $threadinfo['threadid'] . ")
WHERE thread.threadid IN (" . $addons['threadid'] . ")
");
$counter = $db->fetch_array ($ci_counter);
$post['addons'] .= '<li><a href="showthread.php?t=' . $addons['threadid'] . '">'. $counter['threadtitle'] .'</a></li>';
}
$post['addons'] .= '</ul>';
我玩的不多php,所以我会给你一般的指导。
只需使用一个布尔变量来控制何时创建 init 标签并关闭它。
@i_create_a_tag = false;
while ( something ) {
-- open the tag only once
if (!@i_create_a_tag) {
$post['addons'] = '<ul>';
@i_create_a_tag = true;
}
....
}
-- close the tag if was open
if (@i_create_a_tag) {
$post['addons'] = '</ul>';
}
你能做类似 $addonid->num_rows
的事情吗?
$show_list = $addonid->num_rows;
if($show_list)
$post['addons'] = '<ul>';
然后过了一会儿
if($show_list)
$post['addons'] = '</ul>';