-1

fetch_assoc からの結果をエコーするとき、空の (NULL) 結果をスキップしたいと思います。私のコードは次のとおりです。

while ($rowsoft = $resultsoft->fetch_assoc()) {
echo "<table class='swtable' cellspacing='0' summary='Software table'>
<tbody>
<tr><td class='software_up'><a class='sw' href='software.php?id=" . $rowsoft['id'] . "'>" . $rowsoft['title'] . "</a></td></tr>
<tr><td class='software'><div class='tags'>Tags: </div><a class='tags' href='#'>" . $rowsoft['tag_1'] . "</a>
<a class='tags' href='#'>" . $rowsoft['tag_2'] . "</a><a class='tags' href='#'>" . $rowsoft['tag_3'] . "</a></td></tr>
}

しかし、常に $rowsoft['tag_1'] または $rowsoft['tag_2'] または $rowsoft['tag_3'] の結果があるとは限りません。結果がある場合にのみ機能するように、fetch_assoc() 内のエコーを変更するにはどうすればよいですか? または、 foreach などを使用する必要がありますか?

ありがとうございました

4

2 に答える 2

0

SQLを変更して取得しました:

select
...    
    (select concat('<a href=\'#\' class=\'tags\'>',t.tag_bg,'</a>') from tags t where t.id=s.tag1) tag_1,
    (select concat('<a href=\'#\' class=\'tags\'>',t.tag_bg,'</a>') from tags t where t.id=s.tag2) tag_2,
    (select concat('<a href=\'#\' class=\'tags\'>',t.tag_bg,'</a>') from tags t where t.id=s.tag3) tag_3
from software where...

そして fetch_assoc() 内:

<tr><td class='software'><div class='tags'>Tags:</div>" . $rowsoft['tag_1'] . "" . $rowsoft['tag_2'] . "" . $rowsoft['tag_3'] . "</td></tr>

素晴らしい作品、アドバイスをありがとう!

于 2013-08-19T11:40:12.783 に答える